nginx erro de soquete de domínio unix

16

Eu uso o fedora 17, e quando eu configuro o nginx com o uwsgi usando o soquete do domínio unix, quando coloco o soquete em um diretório com permissão apropriada, tudo bem, mas quando eu coloco o soquete no /tmp ele causará erro nginx :

connect() to unix:/tmp/MySite.sock failed (2: No such file or directory) while connecting to upstream

O arquivo existe e tem permissão de leitura / gravação para o usuário nginx. Mas o que causa esse erro, é realmente me deixar louco, alguém pode descobrir isso.

    
por jeffgoku 08.01.2013 / 13:31

2 respostas

29

Você não pode colocar soquetes destinados à comunicação entre processos em /tmp .

Por razões de segurança, versões recentes do Fedora usam diretórios temporários com namespaces , o que significa que cada serviço vê um /tmp completamente diferente e só pode ver seus próprios arquivos nesse diretório.

Para resolver o problema, coloque o soquete em um diretório diferente, como /run (anteriormente conhecido como /var/run ).

    
por 08.01.2013 / 15:41
0

SIM! Isso ajudou!

Estava vendo as mensagens check-startup-logs do uwsgi, mas não tinha dados nos logs de inicialização, não foi capaz de descobrir o que estava acontecendo. Acabou, eu precisava mudar o arquivo de meia para um local não- / tmp e adicionar:

catch-exceptions = true

para o arquivo ini do wsgi. No final, eu havia especificado o registro da localização do manipulador de arquivos em um diretório inexistente, portanto, não era possível registrar os erros em primeiro lugar.

    
por 24.08.2017 / 00:10

Tags