service httpd falha de reinicialização no aws amazon linux ami

3

Obrigado pela sua ajuda. Eu fiz recentemente o seguinte:

  1. Ran sudo yum update na minha instância do ec2 executando o Amazon Linux ami
  2. Eu adicionei um host virtual ao meu vhost.conf para um subdomínio.
  3. Enquanto o servidor ainda está acessível, quando executei sudo httpd restart , recebi o seguinte:

.

Stopping httpd:                                            [FAILED]
Starting httpd: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/httpd/conf.d/vhost.conf:1
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
                                                           [FAILED]

Além disso, se eu executar o comando restart sem o sudo service httpd restart , recebo a seguinte mensagem:

rm: cannot remove '/var/run/httpd/httpd.pid': Permission deniedLED]

rm: cannot remove '/var/run/httpd/httpd.pid': Permission denied
Starting httpd: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/httpd/conf.d/vhost.conf:1
(13)Permission denied: AH00058: Error retrieving pid file /var/run/httpd/httpd.pid
AH00059: Remove it before continuing if it is corrupted.
                                                           [FAILED]
    
por MSchwartz 09.10.2013 / 16:13

3 respostas

2

Pelo que você forneceu, parece que existe outro processo usando a porta 80

Tente fazer o seguinte:

Primeiro você precisa ser um usuário root para executá-los, ou você adiciona o sudo antes do comando, ou antes de fazer qualquer coisa, mude para o usuário root assim:

su -root

e digite a senha do root.

Em seguida, continue com:

netstat -tulpn| grep :80

O comando acima exibe a lista de conexões que estão usando a porta 80

Em seguida, execute o seguinte comando para eliminar o processo que está usando a porta 80

kill -9 <process id>

Substitua o ID do processo pelo número do processo mostrado na tela pelo comando anterior.

Em seguida, execute este comando para iniciar o processo httpd:

service httpd start
Se o acima não funcionou com você, tente este

Tente isso, eu acabei de testar:

for i in 'lsof -i :80 | grep http | awk {' print $2'}'; do kill -9 $i; done

Em seguida, execute a reinicialização:

service httpd restart
    
por 09.10.2013 / 18:48
0

Confira o usuário:

id

Confira a permissão:

ls -l /var/run/httpd/httpd.pid

Execute para obter <process id> :

netstat -tulpn| grep :80

Para conferir quem executou o httpd:

ps -ef|grep <process id> 
    
por 19.07.2014 / 06:51
0

Então a resposta sobre outro processo usando a porta 80 ou 443 ou algo provavelmente está correta mais ou menos, mas isso parece um erro clássico que eu pensei em compartilhar. Você nunca deve matar -9 pidof httpd ou matar o apache abruptamente. Se fizer isso, você receberá esse erro até que o sistema mate todas as conexões tcp restantes de / para a porta 80. Tente netstat -alpn | grep ': 80' e verifique se há um monte de conexões em TCP_TIME_WAIT ou algo parecido. Você tem que deixar o servidor apache desligado até que estes TODOS desapareçam.

Obviamente, você também pode ter um problema como ter o nginx ou o lighttpd rodando na mesma máquina, bloqueando as portas, mas aposto que alguém matou o apache. Levará dois minutos para que todas essas conexões desapareçam.

    
por 01.05.2015 / 21:01