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

systemctl start nginx.service        启动失败

systemctl status nginx.service


问题:8月 10 16:03:54 localhost.localdomain nginx[11382]: nginx: [emerg] bind() to 0.0.0.0:9090 failed (13: Permission denied)
解决:
# This will most likely be related to SELinux
semanage port -l | grep http_port_t
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000


#As you can see from the output above with SELinux in enforcing mode http is only allowed to bind to the listed ports. The solution is to add the ports you want to bind on to the list

[root@localhost html]# semanage port -a -t http_port_t -p tcp 9090        # add
[root@localhost html]# semanage port -d -t http_port_t -p tcp 9090        # del
[root@localhost html]# semanage port -m -t http_port_t -p tcp 9090        # 若想添加其他已定义端口,可使用 -m 修改命令

semanage port -a -t http_port_t  -p tcp 9090                     #will add port 9090 to the list.
setsebool -P named_tcp_bind_http_port 1


https://my.oschina.net/aibati2008/blog/729674

https://serverfault.com/questions/566317/nginx-no-permission-to-bind-port-8090-but-it-binds-to-80-and-8080
posted @ 2017-08-10 16:15  张同光  阅读(513)  评论(0编辑  收藏  举报