[Flask] flask uwsgi nginx deployment not working
Jeff Widman
jeff at jeffwidman.com
Tue Oct 6 23:03:55 CEST 2015
I just setup Nginx + uWSGI + Flask the other day for the first time. You're
right, the Flask docs on uWSGI are outdated and use deprecated uWSGI
commands. There's a pull request in the Flask repo that shows the correct
way (as best I could tell) to set things up, it also covers the slightly
more complicated scenario of serving multiple Flask apps on a single uWSGI
socket.
I take a cursory look through your code and nothing stuck out to me... I
used the Emperor option in place of the Master process option, as it gives
more flexibility, so maybe that's why I'm not seeing the specific issue...
maybe try that?
ᐧ
On Tue, Oct 6, 2015 at 9:03 AM, tigernassau <tigernassau at gmail.com> wrote:
> we can only get Flask to load on a debian server with nginx, uwsgi with a
> command line statement, not on server boot - yet we can get bottle to load
> just fine.
>
> most of the docs are either outdated, 80% complete, or different
> combinations (ie gunicorn, mod_wsgi, uwsgi-plugin-python, systemd ...) so
> we hope to write up a detailed set of docs that work for this combination
>
> Here's what we have:
> nginx.conf
> .....
> upstream testapp {
> server localhost: 8082;
> }
> .....
> location / {
> try_files $uri @wsgi;
> }
> location @wsgi {
> include /etc/nginx/uwsgi_params;
> uwsgi_pass testapp
> }
> .....
>
> /etc/uwsgi/apps-enabled/testapp.ini
> [uwsgi]
> socket = localhost: 8082
> chdir = /home/testapp
> file = app.py
> master = true
> plugins = python
> uid = www-data
> gid = www-data
> vacuum = true
>
> --- test command line run --- (works!)
> sudo uwsgi --socket 127.0.0.1:8082 --wsgi-file /home/testapp/app.py
> --callable app processes 4 --stats 127.0.0.1:9191
>
> /etc/systemd/system/testapp.service
> [Unit]
> Description=wsgi flask testapp
> [Service]
> ExecStart=uwsgi --socket 127.0.0.1:8082 --wsgi-file /home/testapp/app.py
> --callable app --processes 4
> Restart=always
> KillSignal=SIGQUIT
> Type=notify
> StandardError=syslog
> NotifyAccess=all
>
> [Install]
> WantedBy=multi-user.target
>
> sudo service testapp start ==> error
>
> The only difference we see between Flask not booting and Bottle working is
> in the app run statement
> Flask:
> if __name__ == '__main__':
> app.run()
>
> Bottle:
> if __name__ == '__main__':
> bottle.run(host="127.0.0.1",port=8082)
> else:
> app = application = bottle.default_app()
>
>
> maybe app run issue ??
> maybe permission issue ?? (but wsgi ini works for bottle)
> maybe systemd service file ??
>
> thks.
>
> --
> Tiger Nassau, Inc.
> www.tigernassau.com
>
> _______________________________________________
> Flask mailing list
> Flask at python.org
> https://mail.python.org/mailman/listinfo/flask
>
--
*Jeff Widman*
jeffwidman.com <http://www.jeffwidman.com/> | 740-WIDMAN-J (943-6265)
<><
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/flask/attachments/20151006/31671e77/attachment.html>
More information about the Flask
mailing list