Apache e systemd

6

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

Agora existem duas maneiras de reiniciar o apache:

  1. apache2ctl restart ou apache2ctl graceful
  2. systemctl restart apache2 e parece que systemctl restart apache2.service faz a mesma coisa.

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

Parece que preciso fazer as duas coisas para conseguir um bom funcionamento completo do reinício. por exemplo. depois de alterar um arquivo de configuração para o módulo php, ele apenas notou a mudança depois de ambos.

Outra vez, quando apache2ctl configtest estava falhando e a falha foi relatada em systemctl status apache2 , corrigi a configuração para que o primeiro desses comandos ficasse feliz, reiniciado com apache2ctl restart , mas o comando systemd status ainda a listou como não em execução e com o antigo problema de configuração.

Prometo gastar mais tempo lendo sobre systemd (RTFM) em algum momento, mas, enquanto isso, em um nível prático relacionado ao apache, eu gostaria de receber conselhos.

    
por artfulrobot 03.11.2015 / 17:39

1 resposta

6

Se você quiser consistência, use sempre systemctl para stop , start e restart . Isso acaba usando o programa apache2ctl - por enquanto através do script /etc/init.d/apache2 , mas provavelmente de um arquivo nativo systemd unit no futuro.

systemd não saberá quando você usou apache2ctl diretamente, possivelmente resultando (como você descobriu) em uma situação em que systemd acha que apache2 ainda está em um estado defeituoso quando está em execução bem.

Para configtest e status , use apache2ctl . Eles apenas consultam o apache sem alterar seu estado.

    
por 04.11.2015 / 00:54