Estou tentando configurar um servidor da Web do Amazon EC2 no "Virtual Private Cloud". Estou usando isso em vez de uma instância padrão do EC2 porque precisei atribuir vários IPs públicos e isso exige o uso de VPC.
De qualquer forma, depois de muitos saltos, finalmente consegui colocar a instância em funcionamento e conectada via SSH. Eu construí a instância a partir de uma imagem que tirei de um servidor padrão que está funcionando bem. No entanto, parece que não consigo iniciar o Apache:
# service httpd status
httpd is stopped
# service httpd start
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[FAILED]
# netstat -ltnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1243/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1275/sendmail
tcp 0 0 0.0.0.0:9306 0.0.0.0:* LISTEN 1225/searchd
tcp 0 0 0.0.0.0:9312 0.0.0.0:* LISTEN 1225/searchd
tcp 0 0 :::80 :::* LISTEN 1289/httpd
tcp 0 0 :::22 :::* LISTEN 1243/sshd
tcp 0 0 :::443 :::* LISTEN 1289/httpd
# ps aux | grep httpd
root 1287 0.0 0.2 108476 1780 ? S 21:17 0:00 /bin/bash /etc/rc3.d/S85httpd start
root 1288 0.0 0.2 11348 1332 ? S 21:17 0:00 /bin/bash -c ulimit -S -c 0 >/dev/null 2>&1 ; /usr/sbin/httpd
root 1289 0.0 1.2 211888 7764 ? S 21:17 0:00 /usr/sbin/httpd
Então estou um pouco confuso. O Apache não está em execução (como um serviço, e eu não o configurei para executar de outras maneiras), e não consigo iniciar o serviço, mas isso não está dizendo que o Apache IS está em execução? Alguma idéia de como resolver?
Adicionado em 04 / dez / 2012
O Apache foi instalado e configurado para iniciar automaticamente na inicialização com chkconfig --levels 235 httpd on
, e é por isso que o processo httpd está sendo executado na inicialização. No entanto, quando você digita service httpd status
, ele ainda está lendo como interrompido e indisponível por meio de um navegador da Web.
Para realmente reiniciar o Apache, parece que você precisa matar o processo normalmente ( kill -15 1289
works, em que 1289 era o ID do processo) e, em seguida, inserir service httpd start
. Agora você pode iniciar, parar, reiniciar e recarregar o Apache sem problemas.
No entanto, eu queria poder usar o comando de serviço imediatamente, e outras informações me levaram a uma conclusão que ninguém poderia fornecer de forma realista: uma das chaves SSL requer uma frase secreta e não pode ser inserida na inicialização (claramente), então o processo não pôde ser iniciado corretamente. Eu removi a senha (que nós realmente não queremos, de qualquer maneira) e reiniciei. Agora, quando eu verifico com service httpd status
, recebo httpd dead but subsys locked
. Preciso excluir /var/lock/subsys/httpd
para que o processo seja iniciado corretamente novamente.
Então, parecia um progresso, mas o processo ainda não é iniciado automaticamente.
Idéias, por favor?