NGINX não aplica variáveis em / etc / default / nginx

3

Acabei de atualizar um dos meus servidores do debian 6 para o debian 8. Anteriormente, tudo funcionava bem. Agora, o NGINX não inicia com a configuração correta.

Eu configurei /etc/default/nginx para se parecer com:

DAEMON_OPTS="-c /etc/nginx/my.nginx.file.conf"
DAEMON_ARGS=$DAEMON_OPTS

Isso deve fazer com que o NGINX comece usando um arquivo de configuração personalizado definido em /etc/nginx/my.nginx.file.conf em vez do padrão /etc/nginx/nginx.conf .

Eu verifiquei o script init.d e ele tem:

# Include nginx defaults if available
if [ -r /etc/default/nginx ]; then
        . /etc/default/nginx
fi

Mas isso não parece se aplicar. Se eu remover o arquivo /etc/nginx/nginx.conf e deixar meu arquivo de configuração, recebo o seguinte:

# /etc/init.d/nginx start
[....] Starting nginx (via systemctl): nginx.serviceJob for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
 failed!
# systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since Fri 2016-04-22 14:35:14 UTC; 6s ago
  Process: 12772 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 3773 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)
  Process: 12738 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 5193 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
 Main PID: 12740 (code=exited, status=0/SUCCESS)

Apr 22 14:35:14 xxx nginx[5193]: nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
Apr 22 14:35:14 xxx nginx[5193]: nginx: configuration file /etc/nginx/nginx.conf test failed
Apr 22 14:35:14 xxx systemd[1]: nginx.service: control process exited, code=exited status=1
Apr 22 14:35:14 xxx systemd[1]: Failed to start A high performance web server and a reverse proxy server.
Apr 22 14:35:14 xxx systemd[1]: Unit nginx.service entered failed state.

Se eu mantiver o arquivo /etc/nginx/nginx.conf , o NGINX simplesmente começará a usar esse arquivo e não o meu, ou seja, /etc/nginx/my.nginx.file.conf . O que estou fazendo errado?

Estou tentando evitar a edição do script init.d , se possível. Eu sei que eu poderia configurar o DAEMON_OPTS lá.

    
por Xiflado 22.04.2016 / 16:43

1 resposta

3

O que você fez de errado foi criar seu próprio /etc/nginx/my.nginx.file.conf em vez de editar /etc/nginx/nginx.conf . Coloque o arquivo de volta em sua localização padrão.

O Debian 8 foi (finalmente) movido para o systemd, e o antigo script de inicialização e /etc/default/nginx não são mais usados. Claro, isso foi uma má idéia, mesmo quando eles estavam em uso, mas agora é uma péssima idéia.

    
por 22.04.2016 / 22:13

Tags