Eu consegui trabalhar! Aqui está o que eu fiz:
Criado /etc/uwsgi/apps-available/myapp.xml:
<uwsgi>
<socket>/tmp/uwsgi-myapp.sock</socket>
<plugins>http, python</plugins>
<chdir>/path/to/directory/containing/python/app</chdir>
<module>myapp</module><!-- myapp.py from before -->
</uwsgi>
Emitiu os seguintes comandos:
ln -s /etc/uwsgi/apps-available/myapp.xml /etc/uwsgi/apps-enabled/myapp.xml
sudo service uwsgi restart
Atualizado / etc / nginx / sites-available / default:
server {
listen 80;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass unix:///tmp/uwsgi-myapp.sock;
}
}
NGINX reiniciado:
sudo service nginx restart
E tudo é de ouro! Obviamente, o acima é uma configuração muito simples e deve-se rever as opções UWSGI e NGINX antes de ir para a produção.
O que também funcionou está na configuração UWSGI com <socket>127.0.0.1:9090</socket>
e deixando a configuração NGINX como estava.
Como nota final: o UWSGI suporta vários formatos para configuração: (INI, XML e YAML). Eu tinha originalmente tentado o YAML, mas o servidor falharia ao iniciar, então tentei XML e tudo funcionou bem.
EDITAR:
Eu apenas tentei a configuração do INI e também funcionou. O arquivo INI equivalente como o arquivo XML acima é o seguinte:
[uwsgi]
socket = /tmp/uwsgi-myapp.sock
plugins = http, pythong
chdir = /path/to/directory/containing/python/app
module = myapp