From d490a07882c3857a27cf4dde8c3b840941b86161 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Sun, 8 Apr 2018 00:00:10 +0200 Subject: [PATCH] use uwsgi (fixes #13060) --- debian/compat | 2 +- debian/control | 3 ++- debian/fargo.init | 21 +++++---------------- debian/fargo.install | 1 + debian/fargo.service | 15 ++++++--------- 5 files changed, 15 insertions(+), 27 deletions(-) diff --git a/debian/compat b/debian/compat index 7f8f011..45a4fb7 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -7 +8 diff --git a/debian/control b/debian/control index e95090e..1ebf496 100644 --- a/debian/control +++ b/debian/control @@ -25,7 +25,8 @@ Depends: ${misc:Depends}, python-django-tenant-schemas, python-psycopg2, python-django-mellon, - gunicorn + uwsgi, + uwsgi-plugin-python Recommends: nginx, graphicsmagick Suggests: postgresql Description: Fargo Document Box diff --git a/debian/fargo.init b/debian/fargo.init index e553d2e..dec7d31 100644 --- a/debian/fargo.init +++ b/debian/fargo.init @@ -16,14 +16,10 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="Document Box" NAME=fargo -DAEMON=/usr/bin/gunicorn +DAEMON=/usr/bin/uwsgi RUN_DIR=/run/$NAME PIDFILE=$RUN_DIR/$NAME.pid -LOG_DIR=/var/log/$NAME SCRIPTNAME=/etc/init.d/$NAME -BIND=unix:$RUN_DIR/$NAME.sock -WORKERS=5 -TIMEOUT=30 FARGO_SETTINGS_FILE=/usr/lib/$NAME/debian_config.py MANAGE_SCRIPT="/usr/bin/$NAME-manage" @@ -37,17 +33,10 @@ GROUP=$NAME # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME -DAEMON_ARGS=${DAEMON_ARGS:-"--pid $PIDFILE \ ---user $USER --group $GROUP \ ---daemon \ ---access-logfile $LOG_DIR/gunicorn-access.log \ ---log-file $LOG_DIR/gunicorn-error.log \ ---bind=$BIND \ ---workers=$WORKERS \ ---worker-class=sync \ ---timeout=$TIMEOUT \ ---name $NAME \ -$NAME.wsgi:application"} +DAEMON_ARGS=${DAEMON_ARGS:-"--pidfile $PIDFILE \ +--uid $USER --gid $GROUP \ +--ini /etc/$NAME/uwsgi.ini \ +--daemonize /var/log/uwsgi.$NAME.log"} # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh diff --git a/debian/fargo.install b/debian/fargo.install index 557879b..410b8e2 100644 --- a/debian/fargo.install +++ b/debian/fargo.install @@ -2,3 +2,4 @@ debian/fargo-manage /usr/bin debian/fargo.service /lib/systemd/system debian/settings.py /etc/fargo debian/debian_config.py /usr/lib/fargo/ +debian/uwsgi.ini /etc/fargo diff --git a/debian/fargo.service b/debian/fargo.service index 29effb2..b8f43d6 100644 --- a/debian/fargo.service +++ b/debian/fargo.service @@ -1,6 +1,6 @@ [Unit] Description=Fargo -After=network.target postgresql.service +After=network.target syslog.target postgresql.service Wants=postgresql.service [Service] @@ -9,18 +9,15 @@ User=%p Group=%p ExecStartPre=/usr/bin/fargo-manage migrate_schemas --noinput ExecStartPre=/usr/bin/fargo-manage collectstatic --noinput -ExecStart=/usr/bin/gunicorn \ - --bind unix:/run/%p/%p.sock \ - --worker-class=sync \ - --workers 5 \ - --timeout=30 \ - --name %p \ - %p.wsgi:application +ExecStart=/usr/bin/uwsgi --init /etc/%p/uwsgi.ini ExecReload=/bin/kill -HUP $MAINPID -TimeoutStartSec=0 +KillSignal=SIGQUIT PrivateTmp=true Restart=on-failure RuntimeDirectory=fargo +Type=notify +StandardError=syslog +NotifyAccess=all [Install] WantedBy=multi-user.target -- 2.16.3