O servidor do Apache (httpd) falha ao iniciar no Redhat 7 (instância do Amazon ec2)

0

Estou tendo problemas para iniciar meu servidor Apache no RHEL 7 (Amazon ec2). Meu objetivo maior é hospedar um aplicativo Flask a partir da instância ec2 usando um ambiente Anaconda, mas agora estou preocupado em fazer o serviço httpd ser iniciado corretamente.

Encontrei várias perguntas semelhantes postadas aqui , here , aqui , etc., mas nenhum parece abordar o problema exato Estou experimentando.

Estou seguindo este tutorial abaixo para o último caractere > , mas os comandos

sudo apachectl restart

e

sudo service httpd restart

ambos resultam em erros e me orientam a examinar systemctl status httpd.service para mais informações. A saída desse arquivo é a seguinte:

httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2018-04-06 21:00:42 UTC; 4s ago
Docs: man:httpd(8)
      man:apachectl(8)
Process: 32166 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
Process: 32165 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=0/SUCCESS)
Main PID: 32165 (code=exited, status=0/SUCCESS)
[long ec2 ip address] systemd[1]: Starting The Apache HTTP Server...
[long ec2 ip address] httpd[32165]: httpd (pid 28220) already running
[long ec2 ip address] kill[32166]: kill: cannot find process ""
[long ec2 ip address] systemd[1]: httpd.service: control process exited, code=exited status=1
[long ec2 ip address] systemd[1]: Failed to start The Apache HTTP Server.
[long ec2 ip address] systemd[1]: Unit httpd.service entered failed state.
[long ec2 ip address] systemd[1]: httpd.service failed.

A saída de journalctl -xe retorna o mesmo.

Eu verifiquei o dobro e até o triplo este post para confirmar que meu grupo de segurança ec2 está configurado corretamente, o que é.

Algumas informações sobre o meu sistema (não sei se isso será ou não útil, mas imaginei que seria melhor incluí-lo):

Apache Version: Apache/2.4.6 (Red Hat Enterprise Linux) configured

$ /usr/bin/python -V
    Python 2.7.5
$ sudo yum install mod_wsgi
    Package mod_wsgi-3.4-12.el7_0.x86_64 already installed and latest version
$ service httpd configtest
    Syntax OK
$ sudo chkconfig --levels 235 httpd on
    Note: Forwarding request to 'systemctl enable httpd.service' 

O comando sudo netstat -lnp | grep :80 retorna tcp 0 0 :::0 :::* LISTEN 28220/httpd

Agora estou percebendo que o arquivo /etc/init.d/httpd não existe. Isso importa?

Normalmente, faço o meu melhor para examinar os logs de erros e descobrir a causa do problema, mas o único erro que posso identificar em qualquer lugar é em /var/log/httpd/error_log , que diz:

AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive

Se esta pergunta foi feita antes, por favor me direcione para ela. Eu procurei por toda parte, sem sorte até agora.

Felicidades.

    
por nat5142 07.04.2018 / 20:46

1 resposta

0

SOLUTION : graças a @GracefulRestart, consegui determinar o problema:

Acho que meu erro foi usar o mesmo grupo de segurança para várias instâncias do ec2 (cada uma das quais eu tinha desativado agora). De qualquer forma, eu corri pgrep httpd , e vi uma lista de 7 números retornados. Em seguida, executei ps -aux para visualizar a lista completa de processos que eu estava executando. Na parte inferior dessa lista, estavam todos os processos httpd retornados de pgrep httpd (a maioria tinha apache como user , mas não todos). Eu matei cada um deles usando:

sudo kill -9 [PID]

Em seguida, executei sudo apachectl restart e funcionou.

    
por 08.04.2018 / 03:03