Node.js on Dreamhost

**** Updated: 8/11/2013

There is no reason to compile node.js on your server anymore. Just use apt-get.

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

**** Updated: 1/26/2012

There are a few guides to installing node.js on Dreamhost, but none that take you from start to finish deploying a node.js server. This guide will attempt to do just that. Everything should work on with a shared server, but I would highly recommend a VPS.

In this guide we will:

  • Install Node.js
  • Install npm
  • Install forever
  • Start a node app as a daemon
  • Add a cron job to keep it running

So lets get started. Make a download dir to store the node source and download it.

mkdir downloads
cd downloads
git clone https://github.com/joyent/node.git

Find the latest version

git tag

This will list all of the tags in the repository. You can checkout any version from this list. Keep in mind that version that start with an odd number are not release versions. So v0.4 was the last release before v0.6 and v0.5 was not for production.

git checkout v0.6.8

Now we make a local bin, configure, compile and install node

mkdir -p ~/usr/local/bin
./configure --prefix=~/usr/local
make
make install

We must then add the new bin to the path variable

export PATH=$PATH:$HOME/usr/local/bin
echo "export PATH=$PATH:$HOME/usr/local/bin" >> ~/.bashrc
echo "export PATH=$PATH:$HOME/usr/local/bin" >> ~/.bash_profile

Node should now work. This will give you the version of node that is installed and should match the version we checked out earlier.

node --version

Next we need the node package manager npm. This will download and install it.

curl http://npmjs.org/install.sh | sh

Lets check that it installed

npm --version

Now that everything is installed we need a way to deploy node apps. For that we will use forever.

npm install -g forever

To start node as a daemon with forever run

forever start path/to/server.js

Forever will keep the node daemon running as long as the server stays up. We need one more thing to restart the node daemon if the server is restarted. To do this we will add a cron job to start the node daemon after the server is restarted.

@restart path/to/forever start path/to/server.js

You can get the path to forever by running

which forever

This should get you started. If you have any questions or run into problems leave a comment.

Notes

  1. fawwazmuhammad reblogged this from respectthecode and added:
    Nah ini … Deployment Node JS di server
  2. pixel67 reblogged this from respectthecode
  3. respectthecode posted this
Mobile Analytics