O Nginx não está em execução. Não recebendo nenhum erro

1

Se eu correr:

$ sudo service nginx status
* nginx is not running

Então eu corro:

$ sudo service nginx start
Starting nginx: 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()

Então eu mato:

sudo fuser -k 80/tcp

Então eu tento iniciar o Nginx novamente:

$ sudo service nginx start
Starting nginx: nginx.

Deve estar funcionando agora, certo ?:

$ sudo service nginx status
* nginx is not running

Eu tentei:

$ ps aux | grep nginx
root      1316  0.0  0.2  64988  1236 ?        Ss   14:37   0:00 nginx: master process /usr/sbin/nginx
nobody    1317  0.0  0.3  65408  1908 ?        S    14:37   0:00 nginx: worker process
myusername     1436  0.0  0.1   9388   876 pts/2    S+   14:40   0:00 grep nginx

Quando visito o ip do site. Eu recebo uma mensagem 404 com nginx/1.2.1 na parte inferior. O que me parece que está realmente funcionando. E eu estou bloqueando endereços IP em nginx.conf e esses ip's estão sendo bloqueados, eu testei. Então estou confuso sobre se Nginx está funcionando ou não e como se apossar desta besta. Meu objetivo final é ter o Gunicorn rodando também. O estranho é que tudo isso estava funcionando ontem. Gunicorn e Nginx ambos com status de working .

    
por user974407 28.02.2013 / 15:47

3 respostas

1

404 = nenhuma página encontrada.

Isso significa que o nginx está atendendo a solicitação (você não tem mais nada na porta 80). Dos sons dele, o servidor começou bem. Basta criar um arquivo index.htm em sua raiz do diretório nginx com "olá mundo" e você verá algo.

    
por 28.02.2013 / 16:13
1

Talvez você tenha o apache sendo executado na mesma porta e nginx não pode vincular o endereço porque já está em uso.
Para mudar a porta do nginx, dê uma olhada nesta resposta em stackoverflow [1] link

Aqui há um exemplo no meu cachorrinho

marco@BeastFMM:~$ sudo service nginx start
Starting nginx: 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()
nginx.
marco@BeastFMM:~$ sudo /etc/init.d/apache2 stop
sudo: unable to resolve host BeastFMM
 * Stopping web server apache2                                                                                                                                   apache2: apr_sockaddr_info_get() failed for BeastFMM
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
 ... waiting                                                                                                                                              [ OK ]
marco@BeastFMM:~$ sudo service nginx start
Starting nginx: nginx.
marco@BeastFMM:~$ ps aux | grep nginx
root      7986  0.0  0.0  78976  1288 ?        Ss   17:07   0:00 nginx: master process /usr/sbin/nginx
www-data  7987  0.0  0.0  79316  1708 ?        S    17:07   0:00 nginx: worker process
www-data  7988  0.0  0.0  79316  1708 ?        S    17:07   0:00 nginx: worker process
www-data  7989  0.0  0.0  79316  1708 ?        S    17:07   0:00 nginx: worker process
www-data  7990  0.0  0.0  79316  1708 ?        S    17:07   0:00 nginx: worker process
    
por 28.02.2013 / 18:11
0

Você alterou a localização do arquivo pid? Normalmente, quando você inicia um serviço, ele verifica se já está em execução ou não, não faz nada se está e inicia de outra forma. Então esses erros de ligação que você está recebendo não deveriam ter acontecido.

A localização padrão do arquivo pid do nginx com o vinit é /var/run/nginx.pid.

    
por 28.02.2013 / 18:01