1. 程式人生 > >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)

select for ttr gin 進程 沒有 cal pre fpm

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] socket() [::]:80 failed (97: Address family not supported by protocol)
  • 1
  • 2

定位方法

1.先使用ps -e | grep nginx查看是否已經啟動了nginx

2.如果沒有的話則按照提示,查看0.0.0.0:80端口誰占用了,使用netstat -ltunp

命令,可以看到

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 127.0.0.1:10000             0.0.0.0:*                   LISTEN      1177/php-fpm
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1109/httpd
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      836/vsftpd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      823/sshd
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1073/mysqld
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

可以看到0.0.0.0:80端口被httpd這個進程占用了(也就是apcache占用)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)