问题: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中文网其它相关文章!
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
- 上一篇:nginx是什么语言写的
- 下一篇:怎么更改nginx配置文件