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

3. 又看了看占用80端口的进程, 只看到了aliyundun的进程, 以为是这个进程占用了80端口, 于是就准备, 先把Nginx设置为开启启动, 再重启一遍

 systemctl enable nginx

4. 心血来潮, 好久没搞linux了, 看看这个新的控制命令 `systemctl` 都开机启动了哪些程序

systemctl list-unit-files --type=service | grep enabled

5. 一看, 发现了问题, 里边有一个`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 

6. 果断关闭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

7. 也不重启了, 直接运行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

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值