系统启动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:8088 failed (13: Permission denied)
这种情况,需要如下操作:
首先,查看http允许访问的端口:
- semanage port -l | grep http_port_t
- http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
- pegasus_http_port_t tcp 5988
其次,将要启动的端口加入到如上端口列表中:
semanage port -a -t http_port_t -p tcp 8088
如此即可解决如上问题。
记:部署 NuxtJS 应用时,使用 pm2 运行状态正常,然后 Nginx 代理访问出现 502 bad gateway。
查看 Nginx 错误日志文件信息:
- cat /var/log/nginx/error.log
-
- connect() to 127.0.0.1:3000 failed (13: Permission denied) while connecting to upstream
通过日志可以发现 3000 端口被禁止访问,将其添加进访问列表即可。