起動用シェルスクリプト
uWSGI用に書いた起動用シェルスクリプトですが、他でも使えるはずと思って公開!
#別にネタが無いからじゃないんだからね!
License : Public Domain
#!/bin/sh SCRIPTDIR=$(cd `dirname $0`; pwd) #UWSGI=/usr/local/bin/uwsgi UWSGI=`which uwsgi` TMPDIR=$SCRIPTDIR/.tmp SOCK=$TMPDIR/uwsgi.sock PIDFILE=$TMPDIR/uwsgi.pid LOGFILE=$SCRIPTDIR/log.txt MODULE="runserver:app" export PYTHON_EGG_CACHE=$TMPDIR start_uwsgi() { if [ -z "$UWSGI" ]; then echo "Error : uwsgi is not found." exit 1 fi if [ ! -x "$UWSGI" ]; then echo "Error : $UWSGI is not found or not executable." exit 1 fi echo -n "Starting uWSGI ... " { rm -rf $TMPDIR; mkdir -p $TMPDIR; } >/dev/null 2>&1 $UWSGI -M -d $LOGFILE -s $SOCK -p 5 --pidfile $PIDFILE \ --python-path $SCRIPTDIR -w $MODULE echo } graceful_uwsgi() { echo -n "Graceful reloading uWSGI ... " [ -f "$PIDFILE" ] && kill -HUP `cat $PIDFILE` echo } stop_uwsgi() { echo -n "Stopping uWSGI ... " [ -f "$PIDFILE" ] && kill -INT `cat $PIDFILE` && rm -f $PIDFILE echo } case $1 in start) start_uwsgi ;; stop) stop_uwsgi ;; graceful) graceful_uwsgi ;; restart) stop_uwsgi sleep 5 start_uwsgi ;; *) echo "$0 start|srop|graceful|restart" exit 1 ;; esac