Apache e systemd

Apache e systemd

Acabei de começar a usar o Debian 8, que introduziu o systemd. Não estou interessado na política em torno do SysV vs systemd, mas estou confuso, especialmente em torno do Apache (2.4).

Existem agora duas maneiras de reiniciar o Apache:

  1. apache2ctl restartouapache2ctl graceful
  2. systemctl restart apache2e parece que systemctl restart apache2.servicefaz a mesma coisa.

E eles parecem fazer coisas diferentes (!). Eu não entendo a diferença.

Parece que preciso fazer as duas coisas para que uma reinicialização completa funcione corretamente. por exemplo, depois de alterar um arquivo de configuração para o módulo php, ele apenas notou a alteração depois de ambos.

Outra vez em que apache2ctl configtestestava falhando e a falha foi relatada em systemctl status apache2Corrigi a configuração para que o primeiro desses comandos ficasse satisfeito, reiniciei com apache2ctl restartmas o comando systemd status ainda o listou como não em execução e com o problema de configuração antigo.

Prometo passar muito tempo lendo sobre o systemd (RTFM) em profundidade em algum momento, mas enquanto isso, em um nível prático relacionado ao apache, eu apreciaria conselhos.

Responder1

Se você quiser consistência, use sempre systemctlfor stop, start, e restart. Isso acaba usando o apache2ctlprograma - por enquanto através do /etc/init.d/apache2script, mas provavelmente a partir de um arquivo de unidade nativo systemdno futuro.

systemdnão saberá quando você usou apache2ctldiretamente, possivelmente resultando (como você descobriu) em uma situação em que systemdo thinks apache2ainda está com defeito quando na verdade está funcionando bem.

Para configteste status, use apache2ctl. Eles apenas consultam o Apache sem alterar seu estado.

informação relacionada