Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
litespeed_wiki:nodejs_setup [2014/07/30 18:03] Michael Armstrong |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 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). | ||
- | |||
- | ===== Install Node.js ===== | ||
- | |||
- | - wget http://nodejs.org/dist/node-latest.tar.gz | ||
- | - tar xvzf node-latest.tar.gz | ||
- | - cd node-vX.X.X | ||
- | ./configure --prefix=~ | ||
- | make | ||
- | make install | ||
- | |||
- | ===== Proxy Node.js Traffic ===== | ||
- | |||
- | Now that Node.js is installed on your server, you will need to tell LSWS to send the proper traffic to Node.js. 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://ghost.domain.com:XXXXX/ghost/$1 [P,L] | ||
- | |||
- | The above example redirects all traffic (after checking that it is a directory or file) to a Ghost subdomain using port XXXXX. Port XXXXX should be the port Node.js is running on. | ||
- | |||
- | ==== 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. | ||
- | |||
- | {{litespeed_wiki:create_proxy_extapp.png?700}} | ||
- | |||
- | === Configure the Web Server External Application === | ||
- | |||
- | {{litespeed_wiki:create_proxy_extapp.png?700}} | ||
- | |||
- | In the above configurations we have made the Location 1.2.3.4:50000. It is important that the Location match the IP (127.0.0.1 if it is on the same server) and port Node.js is running on. | ||
- | |||
- | After saving the configurations, restart LSWS to save changes. Your traffic should be redirected to Node.js now. | ||
- | |||
- | ===== Notes ===== | ||
- | |||
- | * If you encounter errors using Node.js, please make sure that Node.js is started and running when using it. |