<div dir="ltr">Sure, here's a blog post showing my working config for Flask + uWSGI Emperor + Nginx:<div><br></div><div><a href="http://www.jeffwidman.com/blog/802/serving-multiple-flask-apps-via-uwsgi-nginx/">http://www.jeffwidman.com/blog/802/serving-multiple-flask-apps-via-uwsgi-nginx/</a><br></div><div><br></div><div>Feel free to ask questions or suggest improvements... </div><div hspace="streak-pt-mark" style="max-height:1px"><img style="width:0px;max-height:0px;overflow:hidden" src="https://mailfoogae.appspot.com/t?sender=aamVmZkBqZWZmd2lkbWFuLmNvbQ%3D%3D&type=zerocontent&guid=d55ba6e8-83ee-4484-88b7-99af534d376e"><font color="#ffffff" size="1">ᐧ</font></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 6, 2015 at 4:03 PM, tigernassau <span dir="ltr"><<a href="mailto:tigernassau@gmail.com" target="_blank">tigernassau@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hmm, looked at pull request - more
confusion! Would try emperor but see no docs on that - is your
setup something you can post?. Otherwise we have Bottle working
nicely (and only seems to be missing session vs Flask, so it might
be easier to just get Beaker working with Bottle <br><div><div class="h5">
<br>
On 10/06/2015 03:03 PM, Jeff Widman wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">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.
<div><br>
</div>
<div>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? </div>
<div hspace="streak-pt-mark" style="max-height:1px"><img style="width:0px;max-height:0px;overflow:hidden"><font color="#ffffff" size="1">ᐧ</font></div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Oct 6, 2015 at 9:03 AM,
tigernassau <span dir="ltr"><<a href="mailto:tigernassau@gmail.com" target="_blank">tigernassau@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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.<br>
<br>
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<br>
<br>
Here's what we have:<br>
nginx.conf<br>
.....<br>
upstream testapp {<br>
server localhost: 8082;<br>
}<br>
.....<br>
location / {<br>
try_files $uri @wsgi;<br>
}<br>
location @wsgi {<br>
include /etc/nginx/uwsgi_params;<br>
uwsgi_pass testapp<br>
}<br>
.....<br>
<br>
/etc/uwsgi/apps-enabled/testapp.ini<br>
[uwsgi]<br>
socket = localhost: 8082<br>
chdir = /home/testapp<br>
file = app.py<br>
master = true<br>
plugins = python<br>
uid = www-data<br>
gid = www-data<br>
vacuum = true<br>
<br>
--- test command line run --- (works!)<br>
sudo uwsgi --socket <a href="http://127.0.0.1:8082" rel="noreferrer" target="_blank">127.0.0.1:8082</a> --wsgi-file
/home/testapp/app.py --callable app processes 4 --stats <a href="http://127.0.0.1:9191" rel="noreferrer" target="_blank">127.0.0.1:9191</a><br>
<br>
/etc/systemd/system/testapp.service<br>
[Unit]<br>
Description=wsgi flask testapp<br>
[Service]<br>
ExecStart=uwsgi --socket <a href="http://127.0.0.1:8082" rel="noreferrer" target="_blank">127.0.0.1:8082</a> --wsgi-file
/home/testapp/app.py --callable app --processes 4<br>
Restart=always<br>
KillSignal=SIGQUIT<br>
Type=notify<br>
StandardError=syslog<br>
NotifyAccess=all<br>
<br>
[Install]<br>
WantedBy=multi-user.target<br>
<br>
sudo service testapp start ==> error<br>
<br>
The only difference we see between Flask not booting and
Bottle working is in the app run statement<br>
Flask:<br>
if __name__ == '__main__':<br>
app.run()<br>
<br>
Bottle:<br>
if __name__ == '__main__':<br>
bottle.run(host="127.0.0.1",port=8082)<br>
else:<br>
app = application = bottle.default_app()<br>
<br>
<br>
maybe app run issue ??<br>
maybe permission issue ?? (but wsgi ini works for bottle)<br>
maybe systemd service file ??<br>
<br>
thks.<span><font color="#888888"><br>
<br>
-- <br>
Tiger Nassau, Inc.<br>
<a href="http://www.tigernassau.com" rel="noreferrer" target="_blank">www.tigernassau.com</a><br>
<br>
_______________________________________________<br>
Flask mailing list<br>
<a href="mailto:Flask@python.org" target="_blank">Flask@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/flask" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/flask</a><br>
</font></span></blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div>
<div dir="ltr">
<div><b><br>
Jeff Widman</b></div>
<div><a href="http://www.jeffwidman.com/" target="_blank">jeffwidman.com</a> | <a value="+15102897784" style="color:rgb(17,85,204)">740-WIDMAN-J (943-6265)</a> </div>
<div><><</div>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Flask mailing list
<a href="mailto:Flask@python.org" target="_blank">Flask@python.org</a>
<a href="https://mail.python.org/mailman/listinfo/flask" target="_blank">https://mail.python.org/mailman/listinfo/flask</a>
</pre>
</blockquote>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888"><pre cols="72">--
Tiger Nassau, Inc.
<a href="http://www.tigernassau.com" target="_blank">www.tigernassau.com</a></pre>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><b><br>Jeff Widman</b></div><div><a href="http://www.jeffwidman.com/" target="_blank">jeffwidman.com</a> | <a value="+15102897784" style="color:rgb(17,85,204)">740-WIDMAN-J (943-6265)</a> </div><div><><</div></div></div>
</div>