Created init.d script for haste-server (markdown)
parent
ed3b10f8d3
commit
8e7ed805d6
|
@ -0,0 +1,85 @@
|
||||||
|
This is a basic init.d script for haste-server. This has been tested on a CentOS 5.5 ec2 instance.
|
||||||
|
|
||||||
|
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# this script: /etc/init.d/hasteserver
|
||||||
|
#
|
||||||
|
# modified from: https://gist.github.com/nariyu/1211413
|
||||||
|
#
|
||||||
|
# description: Node.js /var/www/hastebin/server.js
|
||||||
|
|
||||||
|
|
||||||
|
. /etc/rc.d/init.d/functions
|
||||||
|
|
||||||
|
USER="ec2-user"
|
||||||
|
|
||||||
|
DAEMON="/usr/local/bin/node"
|
||||||
|
ROOT_DIR="/var/www/hastebin"
|
||||||
|
|
||||||
|
SERVER="$ROOT_DIR/server.js"
|
||||||
|
LOG_FILE="$ROOT_DIR/server.js.log"
|
||||||
|
|
||||||
|
LOCK_FILE="/var/lock/subsys/node-server"
|
||||||
|
|
||||||
|
do_start()
|
||||||
|
{
|
||||||
|
if [ ! -f "$LOCK_FILE" ] ; then
|
||||||
|
echo -e $"Starting $SERVER ...\n"
|
||||||
|
cd $ROOT_DIR
|
||||||
|
#runuser -l "$USER" -c "$DAEMON $SERVER >> $LOG_FILE &" && echo_success || echo_failure
|
||||||
|
nohup $DAEMON $SERVER & >> $LOG_FILE && echo_success || echo_failure
|
||||||
|
RETVAL=$?
|
||||||
|
echo
|
||||||
|
[ $RETVAL -eq 0 ] && sudo touch $LOCK_FILE
|
||||||
|
else
|
||||||
|
echo "$SERVER is locked. LOCK_FILE: $LOCK_FILE"
|
||||||
|
RETVAL=1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
do_stop()
|
||||||
|
{
|
||||||
|
echo $"Stopping nodejs $SERVER ..."
|
||||||
|
#pid=`ps -aefw | grep "$DAEMON $SERVER" | grep -v " grep " | awk '{print $2}'`
|
||||||
|
#kill -9 $pid > /dev/null 2>&1 && echo_success || echo_failure
|
||||||
|
pkill -f server.js
|
||||||
|
RETVAL=$?
|
||||||
|
echo
|
||||||
|
[ $RETVAL -eq 0 ] && sudo rm -f $LOCK_FILE
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
do_start
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
do_stop
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
do_stop
|
||||||
|
do_start
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart}"
|
||||||
|
RETVAL=1
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit $RETVAL
|
||||||
|
|
||||||
|
Copy and paste it into `/etc/init.d/hasteserver` and then edit these variables in the script according to your installation of haste-server:
|
||||||
|
* USER
|
||||||
|
* DAEMON
|
||||||
|
* ROOT_DIR
|
||||||
|
* LOG_FILE
|
||||||
|
|
||||||
|
Then `sudo chmod a+x /etc/init.d/hasteserver`
|
||||||
|
|
||||||
|
Now you should be able to do `service hasteserver start` and `service hasteserver stop`.
|
||||||
|
|
||||||
|
You can then use chkconfig to start hastebin automatically on every reboot like this:
|
||||||
|
|
||||||
|
sudo chkconfig --add hasteserver
|
||||||
|
sudo chkconfig --level 345 hasteserver on
|
||||||
|
sudo chkconfig --list hasteserver
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue