Skip to content

Instantly share code, notes, and snippets.

@cristopher-rodrigues
Last active February 7, 2017 02:17
Show Gist options
  • Save cristopher-rodrigues/8550af72db71cbd24358 to your computer and use it in GitHub Desktop.
Save cristopher-rodrigues/8550af72db71cbd24358 to your computer and use it in GitHub Desktop.
NodeJS upstart forever service linux
Save file /etc/init/yourapp.conf
#!upstart
description "Upstart script for yourapp Server"

start on startup
stop on shutdown

expect fork

env NODE_BIN_DIR="/usr/bin"
env NODE_PATH="/usr/lib/node_modules"
env APPLICATION_PATH="/var/www/yourapp/bin/www"
env PIDFILE="/var/run/yourapp.pid"
env LOG="/var/log/sales-manager-api.log"
env MIN_UPTIME="5000"
env SPIN_SLEEP_TIME="2000"

script
   PATH=$NODE_BIN_DIR:$PATH
   exec forever \
     --pidFile $PIDFILE \
     -a \
     -l $LOG \
     --minUptime $MIN_UPTIME \
     --spinSleepTime $SPIN_SLEEP_TIME \
     start $APPLICATION_PATH
end script

pre-stop script
   PATH=$NODE_BIN_DIR:$PATH
   exec forever stop $APPLICATION_PATH
end script
sudo service yourapp start|restart|status|stop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment