0

I followed this tutorial on setting up Flask with nginx + uwsgi.

I created an upstart script at /etc/init/flask-uwsgi.conf:

start on [2345]
stop on [06]

pre-start script
    mkdir -p /var/run/flask-uwsgi
    chown www-data:www-data /var/run/flask-uwsgi
end script

script
    cd /var/flask-uwsgi
    exec uwsgi --ini /etc/flask-uwsgi/flask-uwsgi.ini
end script

In order to work, the directory /var/run/flask-uwsgi must be created with its owner set to www-data.

If I do a hard reboot, this script (and the service) doesn't start automatically.

If I run service flask-uwsgi start manually , it works fine.

I tried adding setuid root to this script, thinking that you need root privileges to create directories in /var/run, but that didn't help.

My syntax appears fine:

init-checkconf /etc/init/flask-uwsgi.conf 
File /etc/init/flask-uwsgi.conf: syntax ok

And, the log file /var/log/upstart/flask-uwsgi.log is empty.

What am I missing?

0

It was an issue with the stop on part of the upstart script.

Corrected:

start on [2345]
stop on [!2345]

pre-start script
    mkdir -p /var/run/flask-uwsgi
    chown www-data:www-data /var/run/flask-uwsgi
end script

script
    cd /var/flask-uwsgi
    exec uwsgi --ini /etc/flask-uwsgi/flask-uwsgi.ini
end script
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.