nginx启动报错nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
我以非root用户启动nginx报错,查到原因可能时如下
1 | nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied) |
1.执行文件/path/nginx和/path/nginx.conf没有访问或执行权限 2.非root用户只能启动1024以上端口,要root才能使用80端口 3.selinux没有关闭
想到的解决办法 1.给指定程序设置 CAP_NET_BIND_SERVICE 能力
1 | setcap cap_net_bind_service=+eip /path/to/application |
2.关闭selinux,方法网上一大堆
3.给/path/nginx和/path/nginx.conf权限
1 | chown -R nginx:nginx /path/nginx |
4.端口转发,将启动转到转发到80端口,方法很多,百度即可