Created
February 1, 2015 08:44
-
-
Save lamberta/80a4f49ebb7b07a8f9dc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# PROVIDE: www | |
# REQUIRE: LOGIN FILESYSTEMS | |
# KEYWORD: shutdown | |
. /etc/rc.subr | |
name="www" | |
rcvar="${name}_enable" | |
load_rc_config "${name}" | |
run_dir="/var/run/${name}" | |
pidfile="${run_dir}/${name}.pid" | |
log_dir="/var/log/${name}" | |
user="www_daemon" | |
app="/mnt/www/main.js" | |
pm2="/usr/local/bin/node /usr/local/bin/pm2" | |
pm2_start_args="-s --name ${name} --pid ${pidfile} --log ${log_dir}/pm2.log --output /dev/null --error ${log_dir}/pm2-err.log" | |
extra_commands="status" | |
start_cmd="${name}_start" | |
stop_cmd="${name}_stop" | |
restart_cmd="${name}_restart" | |
status_cmd="${name}_status" | |
PATH="$PATH:/usr/local/bin" | |
www_start () { | |
if env PM2_HOME="${run_dir}/pm2" \ | |
su -m "${user}" -c "${pm2} start ${app} ${pm2_start_args}"; then | |
echo "Starting ${name}." | |
else | |
warn "Problem starting ${name}." | |
fi | |
} | |
www_stop () { | |
if env PM2_HOME="${run_dir}/pm2" \ | |
su -m "${user}" -c "${pm2} stop ${name} -s"; then | |
echo "Stopping ${name}." | |
su -m "${user}" -c "${pm2} kill -s" | |
else | |
warn "Problem stopping ${name}." | |
fi | |
} | |
www_restart () { | |
if env PM2_HOME="${run_dir}/pm2" \ | |
su -m "${user}" -c "${pm2} restart ${name} -s"; then | |
echo "[PM2] Restarting ${name}." | |
else | |
warn "Problem restarting ${name}." | |
fi | |
} | |
www_status () { | |
if ! env PM2_HOME="${run_dir}/pm2" \ | |
su -m "${user}" -c "${pm2} describe ${name} --no-color"; then | |
#pm2 is automatically launched on query, kill it if not using | |
su -m "${user}" -c "${pm2} kill -s" | |
fi | |
} | |
run_rc_command "$1" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment