O Nginx não pode ver o socket unix

5

UPDATE: Eu vi perguntas relacionadas ao diretório / tmp, e um comentário mencionou a remoção do soquete de / home também. Isso não resolveu o problema.

(Atualizações adicionais na parte inferior da postagem)

Eu tenho um ubuntu 16.04 vm no azul que estou usando para hospedar um aplicativo flask usando uwsgi como servidor e nginx como proxy reverso, seguindo este guia ...

link

O problema é que estou recebendo um 502 Bad Gateway quando tento conectar ao servidor em seu ip com um navegador da Web na porta 80. Quando eu verifico os logs, ele diz que o nginx não pode encontre o soquete unix que eu especifiquei no arquivo de configuração.

O erro é ...

2016/08/29 23:23:20 [crit] 2792#2792: *120 connect() to unix:///home/me/appname/appname/appname.sock failed (2: No such file or directory) while connecting to upstream, client: ip.goes.in.here, server: here.goes.the.ip, request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://unix:///home/me/appname/appname/appname.sock:", host: "the.ip.goes.here", referrer: "http://all.of.teh.ips/"

Meu bloco de servidores se parece com isso ...

server {
  listen 80;
  server_name ip.address.goes.here;

  location / {
    include uwsgi_params;
    uwsgi_pass unix:/etc/appname.sock;
  }
}

meu arquivo app.ini se parece com isso ...

[uwsgi]

module:wsgi:app

master = true
processes = 5

socket = /etc/appname.sock
chmod-socket = 660
vacuum = true

die-on-term = true

meu arquivo .service se parece com isso ...

[Unit]

Description=UWSGI instance to serve app
After=network.target


[Service]

User=me
Group=www-data
WorkingDirectory=/home/me/appname
ExecStart=/home/me/appnam/uwsgi --ini appname.ini


[Install]

WantedBy=multi-user.target

Eu também tenho um script de configuração que faz o seguinte (potencialmente causando problemas com logs duplicados?)

sudo ufw allow 'Nginx Full'

export FLASK_APP=appname.py
export APPNAME_SETTINGS=app_settings.cfg

sudo cp service/appname.service /etc/systemd/system/appname.service

sudo cp nginxServerBlock/appname /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-available/appname /etc/nginx/sites-enabled
sudo nginx -t #this tests for syntax errors

sudo systemctl start appname
sudo systemctl enable appname

Eu mudei o número de barras após o unix e antes de casa (agora etc, o diretório foi alterado), entre um monte de outras coisas que vi que eram diferentes em vários guias.

Eu tentei mover o soquete alterando o local especificado no arquivo .ini e no bloco do servidor, mas o erro é completamente inalterado , então o nginx parece estar procurando o soquete no mesmo diretório .

O diretório nginx está procurando por encontrar o socket não está na minha configuração em qualquer lugar.

[UPDATE] descobri que existem registros duplicados no diretório var / log / nginx, 8 cópias de access.log e 8 cópias de error.log . Eu tenho executado o script de configuração após cada alteração (para mover os arquivos para os locais apropriados depois de puxar as alterações com git) e usando o daemon reload (não me lembro o nome exato) conforme as instruções que aparecem no terminal após a execução o script de configuração ... alguma coisa no meu script poderia estar causando as duplicatas? Poderia ser possível que eu tenha feito alguma estranha instalação duplicada com diferentes serviços por acidente, cada um usando um par diferente de arquivos de log?

    
por Ajacmac 30.08.2016 / 03:40

2 respostas

1

User=me
Group=www-data
WorkingDirectory=/home/me/appname
ExecStart=/home/me/appnam/uwsgi --ini appname.ini

Parece um erro de digitação (appnam).

Tem certeza de que o servidor está sendo executado? Você pode se conectar com socat?

    
por 26.02.2017 / 19:01
0

Que tal modificar como

uwsgi_pass unix:/home/me/appname/appname/appname.sock;
    
por 01.09.2016 / 20:08