CustomMenu

Upstart Script

# /etc/init/node-proxy.conf
#
description "node.js forever server for node-proxy"
author      "my name <someone@gmail.com>"

start on started mountall
stop on shutdown

env RUN_AS=nodeuser
env LOG_FILE=/var/www/nodeproxy/logs/nodeproxy.log
env ENV_FILE=/var/www/nodeproxy/logs/nodeproxy_env.log
env PID_FILE=/var/www/nodeproxy/pids/nodeproxy.pid

pre-start script
    # Create Logfile
    touch $ENV_FILE
    chown $RUN_AS:$RUN_AS $ENV_FILE
    touch $LOG_FILE
    chown $RUN_AS:$RUN_AS $LOG_FILE
    touch $PID_FILE
    chown $RUN_AS:$RUN_AS $PID_FILE

    echo "`date +%Y-%m-%d__%T` nodeproxy starting" >> $LOG_FILE
end script

pre-stop script
    rm $PID_FILE
    echo "`date +%Y-%m-%d__%T` nodeproxy stopping" >> $LOG_FILE
end script

script
    # Set environment variables
    export HOME=/var/www/nodeproxy
    export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript

    # Open environment log
    exec 1>$ENV_FILE
    echo "$0:$$: `date`:got called. Environment of job $JOB was:"
    env

    # Create pid file
    echo $$ > $PID_FILE

    # Launch process
    chdir $HOME
    exec sudo -u nodeuser /usr/bin/node $HOME/app.js >> $LOG_FILE 2>&1
end script

post-start script
    echo "`date +%Y-%m-%d__%T` nodeproxy started" | mail -s "nodeproxy started" someone@gmail.com
end script

post-stop script
    echo "`date +%Y-%m-%d__%T` nodeproxy stopped" | mail -s "nodeproxy stopped" someone@gmail.com
end script


No comments:

Post a Comment