Upgrade troubles: "nginx: [emerg] bind() to [::]:80 failed"
First got messages that it wanted to overwrite default and nginx.conf files, which I refused. Which resulted in
2012/03/15 20:36:05 [emerg] 19842#0: unknown "https" variable
Got this error previous time as well. Then I had to add the following to the nginx.conf:
map $scheme $server_https {
default off;
https on;
}
After which my server run happily ever after, until now.
This time I had to comment the https variable in the fastcig_params file to get past this. But now my nginx refuses to restart because of this:
2012/03/15 21:09:58 [emerg] 9599#0: bind() to [::]:80 failed (98: Address already in use)
2012/03/15 21:09:58 [emerg] 9599#0: bind() to [::]:80 failed (98: Address already in use)
2012/03/15 21:09:58 [emerg] 9599#0: bind() to [::]:80 failed (98: Address already in use)
2012/03/15 21:09:58 [emerg] 9599#0: bind() to [::]:80 failed (98: Address already in use)
2012/03/15 21:09:58 [emerg] 9599#0: bind() to [::]:80 failed (98: Address already in use)
2012/03/15 21:09:58 [emerg] 9599#0: still could not bind()
I don't have apache running. There are no nginx processes running. This is really annoying, second time that nginx breaks during upgrade.
The command netstat -ltnp returned following output:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2181/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2053/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2458/master
tcp6 0 0 :::4949 :::* LISTEN 2186/munin-node
tcp6 0 0 :::22 :::* LISTEN 2053/sshd
What is going on?
2 Replies
Then I made a link to my previous default vhost config. Problem persists.
Then I made a link to the new default vhost config (came with the upgrade). IT WORKZ!!!
Difference: in the new config file the line to listen for ipv6 on port 80 is commented out
#listen [::]:80 default ipv6only=on; ## listen for ipv6
My server is ipv6 enabled, so is nginx, it worked before, now it doesn't. Anyway, I am bringing my sites online again by adding a # before the listen [::]:80 line in the vhost config files.. Very
I didn't really read through all of it, but having this line for only one vhost:
listen [::]:80 ipv6only=on default;
and only this for the other vhosts:
listen [::]:80;
seems to solve the problem.