service nginx stop falha sem nenhum feedback

1

Quando executo sudo service nginx stop , o nginx não é interrompido e não há nenhuma mensagem impressa na tela, e o prompt está de volta imediatamente:

user:/etc/nginx$ sudo service nginx stop
user:/etc/nginx$

Eu acho que geralmente há uma mensagem, mas não está lá.

Aqui estão os meus resultados de ps:

root     28527  0.0  0.2 130368  1484 ?        Ss   02:46   0:00 nginx: master process nginx -c /etc/nginx/nginx.conf
www-data 28528  0.0  0.7 131368  3776 ?        S    02:46   0:00 nginx: worker process

Aqui está o status do nginx

sudo service nginx status
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2018-02-23 03:06:51 UTC; 55min ago
  Process: 28519 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=1/FAILURE)
  Process: 28633 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
  Process: 28629 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 19943 (code=exited, status=0/SUCCESS)

Meus arquivos nginx são válidos quando eu verifiquei com -t

    
por lulalala 23.02.2018 / 04:45

1 resposta

2

Há um problema conhecido em que às vezes o processo nginx não pode ser interrompido com service nginx stop ou systemctl stop nginx .

Nesses casos raros (surgem ocasionalmente, mas não é fácil de reproduzir o caso para corrigir o problema), você terá que fazer isso da maneira "antiquada".

Primeiro, você precisa matar os processos nginx existentes.

sudo kill $(pidof nginx)

Isso eliminará os processos NGINX existentes para que você não tenha nenhuma execução.

A partir daí, você pode iniciar os processos novamente com sudo service nginx start ou similar. Você também deve ser capaz de parar os processos nginx depois de iniciá-los novamente, agora, usando sudo service nginx stop como faria normalmente.

(Eu estive olhando para essa questão por mais de dois anos e nunca consegui reproduzir esses casos, as únicas vezes em que eu encontrei esse problema eu foi quando fiz o upgrade de 1.10. x para 1.12.x, e somente ele já correu para uma vez , então é um problema impossível de reproduzir, então é quase impossível descobrir como evitar que este problema aconteça no futuro)

    
por Thomas Ward 23.02.2018 / 05:47