Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Where to place node.js files on server?

Where to place node.js files on server?

Problem

I have just gotten a VPS to bring my first node.js project online, but I am wondering where do I place the node files like app.js if I want it to be accessible at http://www.mywebsite.com:3000?

Right now, to host a website, I am using WHM to create a cPanel account, which creates /home/cpanelusername and my HTML/PHP files all go into /home/cpanelusername/public_html. Where does node.js files go to? Or did I get this step wrong as well?

On my Mac where I developed the node app, I simply cd into the directory containing the node file and run node app.js

Problem courtesy of: Nyxynyx

Solution

You have to execute app.js file using the node binary, just like you do in local development. That means that you should probably make that execution a service call, the details of which depend on your linux distro. If it's not a service call, then executing it in ssh will mean that the app stops working once you log out of ssh.

For example, in Ubuntu server (which I use) I have an Upstart script which automatically runs my node.js app automatically on system start and log to /var/log. An example of the file, named /etc/init/myapp.js.conf is:

description "myapp server"
author      "Me"

# used to be: start on startup
# until we found some mounts weren't ready yet while booting:
start on started mountall
stop on shutdown

script
    # We found $HOME is needed. Without it we ran into problems
    export HOME="/root"

    exec node /home/me/myapp/myapp.js 2>&1 >> /var/log/myapp.log
end script

Replace names, etc. as necessary.

Edit to add: You can then start and stop your service by running: sudo start myapp.js or sudo stop myapp.js

Solution courtesy of: Matt

Discussion

View additional discussion.



This post first appeared on Node.js Recipes, please read the originial post: here

Share the post

Where to place node.js files on server?

×

Subscribe to Node.js Recipes

Get updates delivered right to your inbox!

Thank you for your subscription

×