Eu tenho um aplicativo rails implantado por meio do capistrano em uma instância do aws ec2 e tenho o nginx de passageiro instalado no servidor também.
Sempre que tento acessar meu aplicativo usando o DNS ou o IP público fornecido, tudo que consigo é o carregamento do navegador por um tempo sem resposta, nem mesmo uma página de erro do nginx.
Aqui está minha configuração nginx (/ etc / nginx / sites-enabled / default)
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name <public ip>;
passenger_enabled on;
rails_env production;
root /home/ubuntu/myapp/current/public;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Ao executar o comando "sudo nginx", esta é a resposta que recebo:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
Eu passei horas procurando uma solução, mas não consegui acessar meu aplicativo. Qualquer ajuda, mesmo orientação para a direção certa seria muito apreciada. Se mais informações forem necessárias, por favor me avise.
EDITAR
Dentro do error.log, é isso que tenho recebido:
[ 2015-07-21 12:59:54.2681 21794/7eff039a4700 age/Cor/Main.cpp:507 ]: Signal received. Gracefully shutting down... (send signal 2 more time(s) t$
[ 2015-07-21 12:59:54.2681 21794/7eff0a1747c0 age/Cor/Main.cpp:876 ]: Received command to shutdown gracefully. Waiting until all clients have di$
[ 2015-07-21 12:59:54.2682 21794/7eff031a3700 Ser/Server.h:752 ]: [ApiServer] Freed 0 spare client objects
[ 2015-07-21 12:59:54.2682 21794/7eff031a3700 Ser/Server.h:443 ]: [ApiServer] Shutdown finished
[ 2015-07-21 12:59:54.2683 21794/7eff039a4700 Ser/Server.h:752 ]: [ServerThr.1] Freed 128 spare client objects
[ 2015-07-21 12:59:54.2683 21794/7eff039a4700 Ser/Server.h:443 ]: [ServerThr.1] Shutdown finished
[ 2015-07-21 12:59:54.2688 21794/7eff0a1747c0 age/Cor/Main.cpp:942 ]: Passenger core shutdown finished
[ 2015-07-21 12:59:54.2695 21799/7fb5deb62700 age/Ust/Main.cpp:337 ]: Signal received. Gracefully shutting down... (send signal 2 more time(s) t$
[ 2015-07-21 12:59:54.2695 21799/7fb5e536d7c0 age/Ust/Main.cpp:399 ]: Received command to shutdown gracefully. Waiting until all clients have di$
[ 2015-07-21 12:59:54.2695 21799/7fb5deb62700 Ser/Server.h:752 ]: [LoggerApiServer] Freed 0 spare client objects
[ 2015-07-21 12:59:54.2696 21799/7fb5deb62700 Ser/Server.h:443 ]: [LoggerApiServer] Shutdown finished
[ 2015-07-21 12:59:54.2697 21799/7fb5e536d7c0 age/Ust/Main.cpp:424 ]: Passenger UstRouter shutdown finished
[ 2015-07-21 12:59:55.3126 21887/7f0fcdb1e7c0 age/Wat/Main.cpp:1274 ]: Starting Passenger watchdog...
[ 2015-07-21 12:59:55.3190 21890/7f1083bfc7c0 age/Cor/Main.cpp:957 ]: Starting Passenger core...
[ 2015-07-21 12:59:55.3191 21890/7f1083bfc7c0 age/Cor/Main.cpp:234 ]: Passenger core running in multi-application mode.
[ 2015-07-21 12:59:55.3288 21890/7f1083bfc7c0 age/Cor/Main.cpp:707 ]: Passenger core online, PID 21890
[ 2015-07-21 12:59:55.3356 21895/7fc7fb8a07c0 age/Ust/Main.cpp:430 ]: Starting Passenger UstRouter...
[ 2015-07-21 12:59:55.3445 21895/7fc7fb8a07c0 age/Ust/Main.cpp:311 ]: Passenger UstRouter online, PID 21895
Eu até tentei liberar a porta 80: usando
sudo fuser -k 80/tcp
que resultou em:
80/tcp: 22143 22146 22147 22148 22149
Isso significa que ele destruiu 5 conexões para a mesma porta, o que pode ser o problema? Se sim, existe uma maneira de manter apenas uma única conexão com essa porta, a conexão do processo que está executando o meu aplicativo.
Depois disso eu reiniciei o nginx e é o mesmo resultado, e ao digitar sudo nginx eu recebo a mesma resposta que eu postei acima
EDIT 2
Depois de pesquisar muito, eu encontrei este comando "sudo lsof-i: 80" e aqui está a saída que ele produz, se isso ajudar, por favor sugira suas soluções, já faz algum tempo desde que fiquei preso nessa questão. / p>
nginx 18275 root 6u IPv4 1213246 0t0 TCP *:http (LISTEN)
nginx 18276 www-data 6u IPv4 1213246 0t0 TCP *:http (LISTEN)
nginx 18277 www-data 6u IPv4 1213246 0t0 TCP *:http (LISTEN)
nginx 18278 www-data 6u IPv4 1213246 0t0 TCP *:http (LISTEN)
nginx 18279 www-data 6u IPv4 1213246 0t0 TCP *:http (LISTEN)
O que eu acredito é que existem múltiplas conexões rodando na porta 80 que eventualmente estão sufocando a resposta, eu posso estar errado, mas por favor sugira suas soluções.
Eu até removi o arquivo padrão de / etc / nginx / sites-enabled / default, criei um novo arquivo de configuração e também o vinculei, mas o problema continua o mesmo.Também verifiquei meu grupo de segurança de instância ec2, permite o tráfego de entrada na porta 80 de qualquer lugar. Pode haver algum outro problema ou estou procurando na direção errada por soluções?
executando sudo netstat -tulpn | grep :80
fornece a seguinte saída
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 18878/nginx
Também para destacar que implantei uma ramificação do repositório do meu projeto e não a ramificação principal em si, uma vez que ela esteja implantada e funcionando, planejo mesclar a ramificação para mestre e implantá-la novamente.
EDIT3
Eu tentei isso no meu terminal local:
telnet <public ip> 80
e esta é a resposta que recebo
Trying <public ip>.
Connected <public ip>.
Escape character is '^]'.