Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added log file locations

...

Code Block
languagebash
titlenephwork
#! /bin/bash
### BEGIN INIT INFO
# Provides:          nephwork
# Required-Start:    nginx/apache
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: The main django process
# Description:       The gunicorn process that receives HTTP requests
#                    from nginx/apache
#
### END INIT INFO
#
# Author:       Tim Whitlock <tim.whitlock@renalregistry.nhs.uk>
#

# Replace this with absolute path to project directory if used as init.d script
#PROJDIR="$(dirname `dirname "${BASH_SOURCE[0]}"`)";
PROJDIR="/home/nephwork/nephwork.renalreg.org";

APPNAME=nephwork
USER=nephwork
PATH=/bin:/usr/bin:/sbin:/usr/sbin
ACTIVATE=$PROJDIR/venv/bin/activate
APPMODULE=nephwork.wsgi
DAEMON=gunicorn
BIND=127.0.0.1:9887
# Put under /var/run and /var/log to make more consistent with other init.d scripts
# Subdriectories in /var/run and /var/log need to be owned by this user for logging and pid to be saved.
#PIDFILE=$PROJDIR/$DAEMON-nephwork.pid
PIDFILE=/var/run/nephwork/$DAEMON-nephwork.pid
#LOGFILE=$PROJDIR/logs/$DAEMON-nephwork.log
LOGFILE=/var/log/nephwork/$DAEMON-nephwork.log
WORKERS=2

#if [ ! -d "$PROJDIR/logs" ]; then
#    mkdir -p "$PROJDIR/logs";
#fi

if [ ! -d "/var/log/nephwork" ]; then
    mkdir -p "/var/log/nephwork";
fi


. /lib/lsb/init-functions


if [ -e "/etc/default/$APPNAME" ]
then
    . /etc/default/$APPNAME
fi


case "$1" in
  start)
        # log_daemon_msg "Starting deferred execution scheduler" "$APPNAME"
        source $ACTIVATE
        $DAEMON --daemon --bind=$BIND --pid=$PIDFILE --workers=$WORKERS --user=$USER --log-file=$LOGFILE $APPMODULE

        RETVAL=$?
        if [ $RETVAL = 0 ]; then
            log_success_msg "$APPNAME has started";
        else
            log_failure_msg "Failed to start $APPNAME";
        fi
    ;;
  stop)
        # log_daemon_msg "Stopping deferred execution scheduler" "$APPNAME"
        killproc -p $PIDFILE $DAEMON
        RETVAL=$?
        if [ $RETVAL = 0 ]; then
            log_success_msg "$APPNAME has stopped";
        else
            log_failure_msg "Failed to stop $APPNAME";
        fi
    ;;
  force-reload|restart)
    $0 stop
    $0 start
    ;;
  *)
    echo "Usage: ./bin/$APPNAME {start|stop|restart|force-reload}"
    exit 1
    ;;
esac

exit 0


The log files can be found in /var/log/httpd24  for proxy issues and /var/log/nephwork  for django site related issues.