iniciando nginx no mac falha com 48: endereço já em uso [duplicado]

5

Estou tentando iniciar o nginx no meu Mac OS X usando o comando sudo nginx

Falha com o seguinte erro

nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] still could not bind()

Eu tento parar o serviço Apache usando sudo apachectl stop

Isso me lança o seguinte erro

launchctl: Error unloading: org.apache.httpd

De acordo com esta resposta , isso provavelmente significa que o Apache já não está em execução

Então eu tentei descobrir o que está sendo executado na porta 80 usando sudo lsof -i:80

Isso é produzido para isso

Google    441 jaskaran   68u  IPv4 0xa3f4d891ed1a8373      0t0  TCP 192.168.1.45:50993->www.google:http (ESTABLISHED)
Google    441 jaskaran  143u  IPv4 0xa3f4d891ed054b5b      0t0  TCP 192.168.1.45:51017->www.scorecardresearch.com:http (ESTABLISHED)
Google    441 jaskaran  150u  IPv4 0xa3f4d891eb9a1b5b      0t0  TCP 192.168.1.45:51018->www.scorecardresearch.com:http (ESTABLISHED)
Google    441 jaskaran  152u  IPv4 0xa3f4d891ed1a4373      0t0  TCP 192.168.1.45:51019->www.scorecardresearch.com:http (ESTABLISHED)
Google    441 jaskaran  156u  IPv4 0xa3f4d891ed071b5b      0t0  TCP 192.168.1.45:51020->www.scorecardresearch.com:http (ESTABLISHED)

A saída desse comando continua mudando com o tempo.

Como faço para o nginx funcionar?

    
por Yin Yang 12.07.2014 / 16:31

1 resposta

1

Antes de tentar iniciar o nginx , verifique se algo já está sendo executado na porta '8080' da seguinte maneira. Eu digo porta "8080", porque esse é o número da porta mostrado na mensagem de erro que você postou:

$ sudo netstat -nlp | grep ':8080' tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2355/nginx
tcp6 0 0 :::8080 :::* LISTEN 2355/nginx

No meu caso, está mostrando um processo chamado "nginx" com o ID do processo de 2355 em execução na porta 8080.

Você pode tentar emitir um kill -TERM 2355 para o ID do processo relacionado para parar (supondo que não deseja executá-lo) e, em seguida, confirmar com netstat , conforme mostrado acima. Altere "2355" para corresponder ao seu próprio ID de processo.

Você pode ainda receber o erro, mesmo que tenha confirmado que nada está sendo executado nessa parte antes de tentar começar a nginx . Nesse caso, seu Nginx pode ter entradas conflitantes em relação a essa porta. Pesquise sua configuração do Nginx por 8080 . Se houver várias menções, revise os documentos da configuração relacionada para confirmar que você não a usou muitas vezes.

    
por 16.07.2015 / 19:30