解决Nginx启动出现端口被占用的问题
Posted by 撒得一地 on 2016年6月2日 in nginx笔记
不管是 nginx 还是 apache ,Web服务器默认占用的都是 80 端口。当我们的服务器 80 端口被其它程序占用时,如果我们这时候尝试启动 nginx,这时候就会报错,提示开启失败,80 端口被占用,像这样:
Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already use)
这时候可以先查看 80 端口被哪些进程占用了,如下:
[root@lmode ~]# fuser -n tcp 80 80/tcp: 2115 8678
从上面的结果可以看到,上面所在服务器 80 端口被进程 2115 和进程 8678 占用了。
如果你不想 nginx 占用80端口,则可以配置 nginx,使其不占用 80 端口,可以参考:修改 nginx 默认端口,使其占用非 80 端口。
如果你想 nginx 正常使用 80 端口,那么你需要将占用 80 端口的其它进程杀掉,可以使用 kill 命令杀掉进程:
[root@lmode ~]# kill -9 2115 [root@lmode ~]# kill -9 8678
然后再次重新启动 nginx :
[root@lmode ~]# /etc/init.d/nginx start #或者 [root@lmode ~]# ./nginx start #切换到你nginx安装目录
关闭占用 80 端口的进程后,这样 nginx 就可以正常启动了。