Saturday, December 25, 2010

How to Run Apache and Node.js on the Same Server

"The problem with integrating Node into most real-world hosts is you already have a web server - probably Apache," writes Yahoo! developer HB Stone on his blog. If you try to run Node.js on the same server as Apache, you'll have to point your browser at a different port. But, as Stone points out, pointing people to something like "http://your.website.com:8000" instead of "http://your.website.com" makes "transitioning to Node.JS feel a little less 'real.'" It could also confuse users.

If you have your own server you have a few options for dealing with this issue. But if you're running Node.js on a public host, you may not be able to bind Apache to a port other than port 80. In this case, you can proxy Node.js through Apache using mod_rewrite rules. You won't get any performance advantage, but this will work if you just want to learn Node.js and experiment.

Sponsor

Stone works through the steps for setting up the mod_rewrite rules in his post.

If you want to run Node.js and Apache on the same server, and can change the port binding on the server, another option is proxying Apache through Node.js. Nodejitsu has released a library called node-http-proxy, which you can download from Github.

Discuss


Rhona Mitra Kelly Rowland Danica Patrick Josie Maran Leighton Meester

No comments:

Post a Comment