Execute o seguinte comando:
/etc/init.d/nginx reload
(ou, no mais recente debian / ubuntu):
service nginx reload
Eu criei um novo arquivo conf em sites disponíveis (e o vinculei em sites habilitados) e agora quero "instalar" esse arquivo conf sem redefinir o servidor nginx.
Como root, posso executar nginx -c file.conf
, já que quase faz o que eu quero; no entanto, os arquivos conf nos sites ativados parecem rodar dentro de algum outro contexto definido quando o nginx é iniciado porque sempre recebo o seguinte erro ao executar o comando:
$ nginx -c /etc/nginx/sites-available/alpha
2010/09/30 02:32:13 [emerg] 31769#0: unknown directive "server" in sites-available/alpha:1
Como posso executar dinamicamente este novo arquivo conf?
$ nginx -v
nginx version: nginx/0.6.32
$ cat /etc/issue
Debian GNU/Linux squeeze/sid
$ cat /etc/nginx/sites-available/alpha
server {
listen 443;
server_name XXX.net;
ssl on;
ssl_certificate /etc/nginx/certificates/server.crt;
ssl_certificate_key /etc/nginx/certificates/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:1338;
}
}
Estou usando certificados autoassinados.
Execute o seguinte comando:
/etc/init.d/nginx reload
(ou, no mais recente debian / ubuntu):
service nginx reload
RABBITZ# nginx -h
...snip...
-s signal : send signal to a master process: stop, quit, reopen, reload
...snip...
Então você pode usar o comando independente do SO:
nginx -s reload
serviço nginx recarregar
Lembre-se de que o recarregamento é uma maneira simples de aplicar qualquer conf. É mais apropriado usar o recarregamento, pois ele não causa nenhum tempo de inatividade (o reinício causa alguns milissegundos de tempo de inatividade, pois ele precisa parar e iniciar novamente).
Encontre o PID do processo mestre:
ps aux | grep nginx
root 22041 0.0 0.2 4808 684 ? Ss 08:14 0:00 nginx: master process /usr/sbin/nginx
www-data 22042 0.0 0.4 4976 1044 ? S 08:14 0:00 nginx: worker process
root 22044 0.0 0.3 3344 812 pts/1 S+ 08:14 0:00 grep --color=auto nginx
E envie o HUP:
kill -HUP 22042