报 [emerg] bind() to 0.0.0.0:XXXX failed (13: Permission denied)错误

 系统启动Nginx后,报 [emerg] bind() to 0.0.0.0:XXXX failed (13: Permission denied)错误的处理方式,分为两种:

第一种:端口小于1024的情况:

[emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

原因是1024以下端口启动时需要root权限,所以sudo nginx即可。

第二种:端口大于1024的情况:

[emerg] bind() to 0.0.0.0:8380 failed (13: Permission denied)

这种情况,需要如下操作:

首先,查看http允许访问的端口:

  1.  
    semanage port -l | grep http_port_t
  2.  
    http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000

其次,将要启动的端口加入到如上端口列表中

semanage port -a -t http_port_t  -p tcp 8090

如此即可解决如上问题。

cenos7安装semanage命令参考:https://blog.csdn.net/RunSnail2018/article/details/81185653

原文地址:https://www.cnblogs.com/cheyunhua/p/13863440.html