Depois de remover a versão 0.7.x que foi entregue pelos pacotes padrão do Debian, instalei a versão 1.4.1 do nginx por fonte.
É possível iniciar o nginx service nginx start
e vejo que o nginx está reservando a porta 80 quando faço o netstat.
netstat -apn | grep nginx
saída:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3115/nginx
O problema é que quando recebo service nginx status
ou service nginx stop
recebo esta mensagem:
não foi possível acessar o arquivo PID para nginx... falhou!
Quem posso consertar isso? E como posso evitar esse problema?
EDITAR: solução
remove nginx
- então vá até a fonte e
./configure --pid-path=/var/run/nginx.pid
make
checkinstall make install
Responder1
O Debian provavelmente configurou/corrigiu o nginx para seu pacote para colocar o arquivo pid em algum lugar específico que ele não faz por padrão. Quando você o substitui por algo compilado a partir do código-fonte, ele não atende às expectativas da infraestrutura de serviço.
Eu veria quais patches e opções de configuração foram feitas pelo pessoal do debian e recompilaria sua versão 1.4.x com as opções para colocar o arquivo pid no mesmo lugar.
Como evitar esse tipo de problema? Faça as coisas por meio de pacotes ou compile a partir do código-fonte, mas não ambos. Ou esteja ciente de que você precisará tomar cuidado extra ao fazer isso, pois as coisas podem quebrar.