Arquivo PID não acessível após atualização do nginx

4

Depois que eu removi a versão 0.7.x que foi entregue pelos pacotes padrão Debian, eu instalei a versão 1.4.1 do nginx por fonte.

É possível iniciar o nginx com service nginx start e vejo que o nginx está reservando a porta 80 quando eu fizer o netstat.

netstat -apn | grep nginx output:

tcp      0    0 0.0.0.0:80            0.0.0.0:*             LISTEN    3115/nginx 

O problema é que, quando eu faço service nginx status ou service nginx stop , recebo esta mensagem:

could not access PID file for nginx ... failed!

Quem posso consertar isso? E como evito esse problema?

EDIT: solução

  1. remove nginx
  2. em seguida, vá para a fonte e ./configure --pid-path=/var/run/nginx.pid
  3. make
  4. checkinstall make install
por Harrys Kavan 06.10.2013 / 20:47

1 resposta

4

O Debian provavelmente configurou / fez o patch do nginx para o seu pacote colocar o arquivo pid em algum lugar específico que ele não faz por padrão. Quando você o substituiu por meio de algo compilado da origem, ele não corresponde às expectativas da infraestrutura de serviço.

Eu olharia quais correções e opções de configuração eram feitas pelo Debian e recompilava sua versão 1.4.x com as opções para colocar o arquivo pid no mesmo lugar.

Sobre como evitar esse tipo de problema? Faça as coisas através de pacotes ou compile a partir da fonte, mas não de ambos. Ou esteja ciente de que você precisará tomar cuidado extra ao fazer isso, pois as coisas vão quebrar.

    
por 06.10.2013 / 20:50