Identificando o erro de serviço no Fedora 16

1

Como você encontra a causa de um serviço com falha no Fedora 16? O novo comando systemctl no Fedora 16 parece obscurecer horrivelmente qualquer informação de registro útil.

[root@host ~]# systemctl start httpd.service
Job failed. See system logs and 'systemctl status' for details.
[root@host ~]# systemctl status httpd.service
httpd.service - The Apache HTTP Server (prefork MPM)
      Loaded: loaded (/lib/systemd/system/httpd.service; enabled)
      Active: failed since Thu, 21 Jun 2012 16:26:56 -0400; 1min 23s ago
     Process: 2119 ExecStop=/usr/sbin/httpd $OPTIONS -k stop (code=exited, status=0/SUCCESS)
     Process: 2215 ExecStart=/usr/sbin/httpd $OPTIONS -k start (code=exited, status=1/FAILURE)
    Main PID: 1062 (code=exited, status=0/SUCCESS)
      CGroup: name=systemd:/system/httpd.service

Então o primeiro comando falha ... e ele me diz para executar outro comando ... que simplesmente me diz que o comando retornou um código de erro. Onde está o erro real?

Ainda mais frustrante é que nada parece ter sido gravado nos logs:

[root@host ~]# ls -lah /var/log/httpd/
total 8.0K
drwx------.  2 root root 4.0K Jun 21 16:19 .
drwxr-xr-x. 21 root root 4.0K Jun 20 16:33 ..
-rw-r-----   1 root root    0 Jun 21 16:19 modsec_audit.log
-rw-r-----   1 root root    0 Jun 21 16:19 modsec_debug.log
    
por Cerin 21.06.2012 / 22:31

2 respostas

2

OK - parece que o problema que você está tendo foi discutido e será atualizado na nova versão do Fedora, mas enquanto isso você pode fazer o seguinte:

Modifique o arquivo /etc/systemd/system.conf - altere a opção DefaultStandardError para DefaultStandardError = syslog

Quando você executar isso agora e o servidor tiver um erro de sintaxe, ele informará ao usuário para verificar nos logs o erro:

[root @ Acer-Laptop ~] # systemctl iniciar httpd.service Job falhou. Veja os registros do sistema e "status do systemctl" para detalhes.

Eu posso ver que isso foi escrito com sucesso também:

[root @ Acer-Laptop ~] # menos / var / log / messages | grep httpd Jun 23 09:24:03 Acer-Laptop httpd [4896]: Erro de sintaxe na linha 32 do /etc/httpd/conf/httpd.conf: Jun 23 09:24:03 Acer-Laptop httpd [4896]: Comando inválido 'SyntaxError', talvez escrito incorretamente ou definido por um módulo não incluído na configuração do servidor Jun 23 09:24:03 Acer-Laptop systemd [1]: httpd.service: processo de controle encerrado, código = status de saída = 1 Jun 23 09:24:03 Acer-Laptop systemd [1]: Unidade httpd.service entrou em estado de falha.

Espero que isso ajude!

    
por 23.06.2012 / 10:28
2

No Fedora, você pode executar o seguinte comando, que deve fornecer a mensagem de erro completa: / usr / sbin / httpd -t

O sinalizador -t executa uma verificação de sintaxe nos arquivos de configuração, portanto, se houver algum erro de sintaxe, isso deverá ajudar.

    
por 21.06.2012 / 23:58