问题:nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
1.第一种方法:查看了一下端口占用情况,并且尝试杀了进程
在端口打命令:netstat -ntpl 会显示如下情况:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN -
tcp6 0 0 ::1:631 :::* LISTEN
然后在终端打:killall -9 nginx
以上是为了杀掉nginx的重复进程(然而并没有决绝寡人的问题)
2.第二种解决方案是编辑nginx的配置文件
zhouchang@zhouchang-CW65S:~$ sudo gedit /etc/nginx/sites-available/default
只需要将下面这段:
listen 80;
listen [::]:80 default_server;
改为:
listen 80;
listen [::]:80 ipv6only=on default_server;
就行了
3.
(1)先查看80端口被什么占用了:
fuser -n tcp 80
比如:root@zhouchang-CW65S:/home/zhouchang# fuser -n tcp 80
会出现类似:80/tcp: 16829
(2)将占用端口杀掉
kill -9 1116
这样再次启动sudo /etc/init.d/nginx start就行了
更多Nginx相关技术文章,请访问Nginx教程栏目进行学习!
以上是nginx启动的时候提示端口被占用怎么解决的详细内容。更多信息请关注PHP中文网其他相关文章!