Maxim Dounin
February 06, 2014 07:12AM
Hello!

On Wed, Feb 05, 2014 at 01:53:14PM -0500, dwirth wrote:

> Hello, all.
>
> About an hour ago, out of the blue, my server stopped responding to webpage
> requests. We are using nginx + php-fpm on RHEL6.
>
> # service nginx status
> nginx (pid 31600) is running...
>
> # service nginx restart
> Stopping nginx: [FAILED]
> 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:443 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:443 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:443 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:443 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:443 failed (98: Address already in use)
> nginx: [emerg] still could not bind()
>
> I killed the process and was able to restart nginx so the immediate crisis
> is over, but I need to know: What the hell happened? What would cause nginx
> to hang like this? I have googled around and I see several discussions about
> what to do when this happens but zilch about how to keep it from happening.

Such hangs can be caused either by bugs (either in nginx itself,
or in 3rd party modules; take a look at nginx -V to find out how
many 3rd party modules you have) or by some serious blocking at
OS level. E.g., serving files from an NFS share may easily result
in such a hang if something happens with the NFS server.

It is impossible to say what happened in your case without
additional information (at least "ps alx" output whould be
helpful, and see also http://wiki.nginx.org/Debugging). General
recomendations are:

1. Make sure your nginx is up-to-date. Note that some linux
distros ship quite outdated versions in their repositories, make
sure to check version against nginx.org. Current versions are
1.5.10 (mainline) and 1.4.4 (stable).

2. Make sure you aren't using things that can easily block, like
NFS or other network filesystems, or some blocking code in
embedded languages like embedded perl or lua. Or, if you do use
them, expect anything to die if something bad happens.

3. If you are using 3rd party modules, make sure you have good
reasons to do so.

4. Examine logs for "crit", "alert", "emerge" messages. If there
are any, they require investigation, especially messages about
worker processes "exited on signal".

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

sudden nginx hang -- restart fails, "98: Address already in use"

dwirth February 05, 2014 01:53PM

Re: sudden nginx hang -- restart fails, "98: Address already in use"

Jonathan Matthews February 05, 2014 02:10PM

Re: sudden nginx hang -- restart fails, "98: Address already in use"

Maxim Dounin February 06, 2014 07:12AM

Re: sudden nginx hang -- restart fails, "98: Address already in use"

dwirth February 06, 2014 07:23AM

Re: sudden nginx hang -- restart fails, "98: Address already in use"

Maxim Dounin February 06, 2014 09:26AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 225
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready