Iniciando o Apache no Ubuntu 16.04: o serviço não funciona e o apache2ctl funciona

4

Estou executando o Apache com uma configuração bastante personalizada.

Percebi que service apache2 start e systemctl start apache2.service não funcionam, enquanto apache2ctl start funciona bem.

A mensagem de erro de systemctl status apache2.service é "A instância do apache2 não foi iniciada em 20 segundos". mas tenho certeza que sim quando uso o apache2ctl. Estranhamente, o processo do Apache é iniciado após o erro e o site funciona bem. Eu simplesmente não consigo usar os comandos novamente para parar ou recarregar ...

Como posso depurar porque os dois primeiros não funcionam? Como eles determinam se o Apache começou?

    
por Gene Vincent 09.02.2017 / 22:20

1 resposta

0

Meu apache2.conf tinha uma linha

PidFile /var/run/httpd2.pid

mas o Ubuntu 16.04 espera que o arquivo pid apareça como /var/run/apache2/apache2.pid .

Então meu Apache começou bem, mas a função apache_wait_start () em /etc/init.d/apache2 que é usada por service apache2 start nunca viu um arquivo pid e achou que o processo não começou.

apache2ctl aparentemente não verifica se existe um arquivo pid (ou talvez lê o apache2.conf onde ele está).

Depois de corrigir o nome do arquivo, tudo corre bem agora.

    
por Gene Vincent 18.02.2017 / 17:15