Acabei de instalar o nginx 1.9 em um servidor Debian 8. O nginx está funcionando bem, quando eu digo para executar, mas não parece carregar o nginx automaticamente na inicialização.
Eu tentei vários scripts init recomendados na internet, mas nada funcionou ainda. Então agora eu estou tentando descobrir isso com systemctl.
~$ systemctl status nginx
● nginx.service
Loaded: masked (/dev/null)
Active: inactive (dead)
~$ sudo systemctl try-restart nginx
Failed to try-restart nginx.service: Unit nginx.service is masked.
~$ sudo systemctl reload nginx
Failed to reload nginx.service: Unit nginx.service is masked.
~$ sudo systemctl reload nginx
Failed to reload nginx.service: Unit nginx.service is masked.
Infelizmente, não sei o que significa "serviço mascarado" e não sei por que ele está mascarado.
quando eu corro
sudo nginx
o servidor funciona muito bem. Então, eu tentei desmascarar o serviço nginx.
~$ sudo systemctl unmask nginx.service
Removed symlink /etc/systemd/system/nginx.service.
ok legal, agora posso iniciar o nginx usando systemctl. Então, verifiquei se a reinicialização carregaria o nginx automaticamente. Mas não o faz, e não tenho ideia para onde ir daqui.
Alguém pode me ajudar a executar o nginx automaticamente na inicialização?
systemctl enable nginx
...Respostas:
Você parece confundir ativar, iniciar e mascarar operações.
systemctl start
,systemctl stop
: inicia (para) a unidade em questão imediatamente ;systemctl enable
,systemctl disable
: Marcas (Desmarca) da unidade de arranque automático no momento do arranque (de um modo específico do aparelho, descrito na sua[Install]
secção);systemctl mask
,systemctl unmask
: proíbe (permite) todas e quaisquer tentativas de iniciar a unidade em questão (manualmente ou como uma dependência de qualquer outra unidade, incluindo as dependências do destino de inicialização padrão). Observe que a marcação para inicialização automática no systemd é implementada adicionando uma dependência artificial do destino de inicialização padrão à unidade em questão; portanto, "mascarar" também não permite a inicialização automática.Portanto, todas essas são operações distintas. Destes, você quer
systemctl enable
.Ref .: systemctl (1) .
Mais: Lennart Poettering (02/03/2011). "Os três níveis de folga" . systemd para administradores . 0pointer.de.
fonte
systemctl enable
(nãosystemctl start
) para iniciar algo na inicialização.Corrigido o link na resposta aceita para que ele seja redirecionado para a página correta. Mas aqui está uma parte relevante:
onde se
/lib/systemd/system/nginx.service
parece com:fonte
Aqui está o que funcionou para mim: https://web.archive.org/web/20150328063215/https://longhandpixels.net/blog/2014/02/install-nginx-debian-ubuntu
Eu ignorei a maior parte do documento, que era específico para compilar outras versões, do nginx, e passei para "Make it Autostart".
Segui as instruções lá e agora, quando reinicio, o nginx 1.9 está em execução.
Eu definitivamente aprecio a ajuda e a visão de todos. Obrigado a todos!
fonte
dos recursos nginx https://www.nginx.com/resources/wiki/start/topics/examples/systemd/
fonte