Como reiniciar o nginx?

84

Para mim, eu executo "killall nginx" e inicio por "sbin / nginx", qualquer um tem um script de reinicialização melhor?

BTW: Eu instalo o nginx a partir do código-fonte, não encontro o comando 'service nginx' ou /etc/init.d/nginx

    
por larry 16.12.2010 / 08:49

5 respostas

134

O pacote nginx fornece um script /etc/init.d/nginx que fornece a funcionalidade usual start | stop | restart | reload ....

/etc/init.d/nginx restart

irá reiniciar o nginx

como será

service nginx restart

Editar

Aqui é um link para um script que você pode usar como /etc/init.d/nginx.

    
por 16.12.2010 / 09:43
11

link

dentro dos links existem alguns comandos para iniciar e parar o servidor nginx

para iniciar o nginx:

/usr/bin/nginx

para parar o nginx:

/usr/bin/nginx -s stop

/usr/bin depende de onde você instala seu nginx

    
por 11.06.2013 / 02:50
1

Depois de editar os arquivos de configuração, eu os reinicio assim no OpenBSD:

kill -HUP 'cat /var/run/nginx.pid' && date && sleep 1 && \
    tail -2 /var/www/logs/error.log ; date

O sinal HUP faz com que ele leia novamente seus arquivos de configuração, o tail mostra se algum erro foi encontrado, o date coloca esses erros no contexto (ocorreu um erro apenas se o tempo de date corresponde à hora do log), e sleep 1 garante que não há condições de corrida entre a leitura do log antes de o nginx ter tido tempo para escrever nele.

É assim que parece:

Cns# kill -HUP 'cat /var/run/nginx.pid' && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns# 

O fato de que o tempo do log não é entre os tempos impressos por date indica que nenhum erro foi encontrado desta vez, e a nova configuração é boa.

    
por 12.02.2013 / 20:08
0

Normalmente, os pacotes instalados a partir do código-fonte não instalam o script de inicialização em /etc/init.d/ . Você tem duas opções.

1- Você pode procurar um script no diretório do código-fonte ou no site e personalizá-lo, se necessário.

2- Você pode copiar um script de inicialização de outro pacote do seu sistema e personalizá-lo.

    
por 16.12.2010 / 09:02