0


Nginx 启动失败 提示 unknown error

报错信息如下

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)

  1. 网上搜索, 基本上都是说80端口被占用, 要kill掉那些进程, 但是用 netstat 显示的是几个内网的ip地址(阿里云的 100.100.30.xx)也没有显示进程号

  2. 看防火墙, 也没有启动

# firewall-cmd --state
not running
  1. 又看了看占用80端口的进程, 只看到了aliyundun的进程, 以为是这个进程占用了80端口, 于是就准备, 先把Nginx设置为开启启动, 再重启一遍
 systemctl enable nginx
  1. 心血来潮, 好久没搞linux了, 看看这个新的控制命令 systemctl 都开机启动了哪些程序
systemctl list-unit-files --type=service | grep enabled
  1. 一看, 发现了问题, 里边有一个httpd的进程, 我去, 既生瑜何生亮啊, 原来是这个原因, 立马查看是不是有apache在跑, 果然
# ps -ef | grep httpd
root         799       1  0 12:15 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache       832     799  0 12:15 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache       833     799  0 12:15 ?        00:00:01 /usr/sbin/httpd -DFOREGROUND
apache       840     799  0 12:15 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache       841     799  0 12:15 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache      1596     799  0 13:06 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND

用下边命令也可以查到 :

lsof -i :80 
  1. 果断关闭apache服务, 并关闭随机启动
# 关闭开启启动, 提示服务还在运行:
# systemctl stop httpd
Warning: Stopping httpd.service, but it can still be activated by:
  httpd.socket

# 关闭服务:
# systemctl stop httpd.socket

# 查询是否关闭成功:
# ps -ef | grep httpd
root        1793    1700  0 13:55 pts/1    00:00:00 grep --color=auto httpd
  1. 也不重启了, 直接运行Nginx, 成功:
# systemctl start nginx
# ps -ef | grep nginx
root        1801       1  0 13:55 ?        00:00:00 nginx: master process /usr/sbin/nginx
www         1802    1801  0 13:55 ?        00:00:00 nginx: worker process
标签: nginx 服务器 linux

本文转载自: https://blog.csdn.net/zhangzhibinshuai/article/details/133271680
版权归原作者 烫手的猪蹄儿 所有, 如有侵权,请联系我们删除。

“Nginx 启动失败 提示 unknown error”的评论:

还没有评论