Skip to content

Instantly share code, notes, and snippets.

@jobsamuel
Last active January 19, 2024 18:26
Show Gist options
  • Star 88 You must be signed in to star a gist
  • Fork 25 You must be signed in to fork a gist
  • Save jobsamuel/6d6095d52228461f3c53 to your computer and use it in GitHub Desktop.
Save jobsamuel/6d6095d52228461f3c53 to your computer and use it in GitHub Desktop.
Run NodeJS as a Service on Ubuntu 14.04 LTS

Run NodeJS as a Service on Ubuntu 14.04 LTS

With Node you can write very fast JavaScript programs serverside. It's pretty easy to install Node, code your program, and run it. But > how do you make it run nicely in the background like a true server?

  • Go to /etc/init/
  • $ sudo vim yourapp.conf
  • Paste script.conf
  • $ sudo start yourapp
  • And when you wanna kill the process $ sudo stop yourapp

Reference

Thanks to [kvz.io] (http://kvz.io/blog/2009/12/15/run-nodejs-as-a-service-on-ubuntu-karmic/) for this!

description "node.js server"
author "Foo Bar"
# used to be: start on startup
# until we found some mounts weren't ready yet while booting
start on started mountall
stop on shutdown
# automatically respawn
respawn
respawn limit 99 5
script
export HOME="/root"
exec /usr//bin/nodejs /path/to/yourapp.js >> /var/log/node.log 2>&1
end script
post-start script
# optionally put a script here that will notifiy you node has (re)started
# /root/bin/hoptoad.sh "node.js has started!"
end script
@Qurbonov
Copy link

how to start :)
root@debian:/etc/init# start myapp
bash: start: command not found

@dharm6619
Copy link

start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused

This was the error showed to me ... Help me out

@akemando
Copy link

Had the same error.-
I ran below instructions on Ubuntu 16.04.1 LTS and works for me.

sudo apt-get install upstart-sysv
sudo update-initramfs -u
sudo reboot

here's the link
https://askubuntu.com/questions/614970/vivid-failed-to-connect-to-upstart-connection-refused

:)

@jamezening
Copy link

jamezening commented Jul 1, 2017

@sethleedy

Is "exec /usr//bin/nodejs" valid ? it has two //'s in sequence.

apparently this is fine (I tried cd-ing into both '/usr/bin' and also '/usr//bin' directories and both resolve)
here is a link to superuser.com

now I just have to figure out how to get this to open my script in a screen

@lokeshj3
Copy link

I did it by pm2 this way(Ubuntu 16.04.01 LTS):
npm install -g pm2
pm2 start yourapp.js
pm2 startup
pm2 save

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment