Estou tentando usar o uWSGI com o nginx. O problema raiz que estou tendo é que eu estou recebendo "Nenhum tal arquivo ou diretório" do nginx tentando se conectar ao arquivo de soquete uWSGI.
Quando uso as configurações a seguir, espero que as permissões do arquivo de soquete sejam alteradas. No entanto, eles não são. Continua mostrando uwsgi:uwsgi
.
O erro do nginx é *17 connect() to unix:/tmp/myapp.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.1.122, server: , request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/tmp/myapp.sock:", host: "192.168.1.123:81"
myapp.ini (uwsgi)
[uwsgi]
chdir = /var/local/myapp
plugins = python
module = wsgi:app
home = /var/local/virtualenv/myapp
file = main.py
daemonize = /var/log/uwsgi/myapp.log
pidfile = /var/run/uwsgi/myapp.pid
socket = /tmp/%n.sock
chmod-socket = 777
chown-socket = webuser:nginx
uid = webuser
gid = nginx
vacuum = true
permissões de arquivo
srwxrwxrwx. 1 uwsgi uwsgi 0 Jul 3 12:43 myapp.sock
myapp.conf (nginx)
server {
listen 81;
access_log /var/log/nginx/myapp_access.log;
error_log /var/log/nginx/myapp_error.log;
location / {
try_files $uri @yourapplication;
}
location @yourapplication {
include uwsgi_params;
uwsgi_pass unix:/tmp/myapp.sock;
}
}
Eu também tentei isso:
usermod -a -G nginx uwsgi
usermod -a -G uwsgi nginx
useradd webuser
usermod -a -G nginx webuser
usermod -a -G uwsgi webuser
e eu tentei isso:
grep avc /var/log/audit/audit.log | audit2allow -M nginx
semodule -i nginx.pp
EDITAR
e tentei mover o arquivo de meia para /var/run/uwsgi/myapp.sock
. Nesse caso, o nginx me diz: connect() to unix:/var/run/uwsgi/myapp.sock failed (13: Permission denied) while connecting to upstream
EDIT 2
e apenas para o kix, tentei usar a porta TCP em vez de um arquivo de soquete. Nessa situação, posso usar curl -XGET http://localhost:8000
e obter a resposta HTTP adequada do uwsgi / python. No entanto, no log nginx (quando tentei entrar através do navegador através do nginx, recebo: *1 connect() failed (111: Connection refused) while connecting to upstream
O arquivo nginx é configurado assim: uwsgi_pass uwsgi://localhost:8000;