This is an old revision of the document!


Setting Up Node.js

Node.js is a platform that generally runs as a separate web server. LiteSpeed Web Server can be configured to proxy traffic to Node.js so that users can run Node.js applications (like Ghost) on their sites.

The following wiki guides you through the steps to set up Node.js with LiteSpeed Web Server. The wiki assumes that you have a functional LSWS installation running off of Apache configurations (though the steps can be easily adapted to using LSWS-native configuration files).

Get the latest Node.js package.

wget http://nodejs.org/dist/node-latest.tar.gz

Expand the tarball.

tar xvzf node-latest.tar.gz

Build Node.js from the source.

cd node-vX.X.X
./configure
make
make install

For the rest of this wiki, we will be using the example Node.js web server example.js found on Node.js's homepage. This web server runs on port 1337 and responds with “Hello World” to every request.

Now that Node.js is installed on your server, you will need to tell LSWS to send the proper traffic to your Node.js application. Starting with LSWS 4.2.13, this can be done with a just a rewrite rule (if Node.js is installed on the same server as LSWS). Simply add a rewrite rule that will redirect traffic to the port Node.js is listening on. The following is an example:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:1337/$1 [P,L]

The above example redirects all traffic (after checking that it is a directory or file) to port 1337 (where example.js is running, as noted above).

If Using LSWS Below 4.2.13 or Proxying to an External Server

In order for LSWS to proxy traffic to another web server, LSWS needs a proxy-type external application. Starting with LSWS 4.2.13, LSWS will automatically create a proxy external application for rewrite rules that redirect to a local web server. If you are using a version below 4.2.13 or are running Node.js on a different server, you will need to use the following steps to manually create a proxy external application to proxy to Node.js in addition to adding the rewrite rules above.

Create a Web Server External Application

Add a new external application (WebAdmin console > Configuration > Server > External App > Add). Choose “Web Server” as the Type.

Configure the Web Server External Application

In the above configurations we have made the Location 1.2.3.4:1337. It is important that the Location match the IP (127.0.0.1 if it is on the same server) and port your Node.js application is running on.

After saving the configurations, restart LSWS to save changes. Your traffic should be redirected to your Node.js application now.

  • If you encounter errors using Node.js, please make sure that Node.js is started and running when using it.
  • Admin
  • Last modified: 2014/08/07 15:09
  • by Michael Armstrong