Nginx权限被拒绝
我想在centOS 7的服务器上部署flask服务。所以我遵循了这个教程- 运行Nginx权限被拒绝,nginx,flask,Nginx,Flask,我想在centOS 7的服务器上部署flask服务。所以我遵循了这个教程- 运行systemctl start nginx命令后,我得到了以下错误: nginx: [emerg] bind() to 0.0.0.0:5000 failed (13: Permission denied) 我的nginx.conf文件: server { listen 5000; server_name _; location / { inc
systemctl start nginx
命令后,我得到了以下错误:
nginx: [emerg] bind() to 0.0.0.0:5000 failed (13: Permission denied)
我的nginx.conf
文件:
server {
listen 5000;
server_name _;
location / {
include uwsgi_params;
uwsgi_pass unix:/root/fiproxy/fiproxyproject/fiproxy.sock;
}
}
注意:烧瓶服务和wsgi工作正常。我尝试使用超级用户运行nginx,但错误仍然存在。nginx主进程需要root权限。因为它需要绑定端口。
您需要在root用户下启动Nginx。
然后可以在nginx.conf中定义子进程的用户 在网上搜索了很多次之后,我找到了解决问题的方法 我运行此命令以获取计算机中所有已使用的端口:
semanage port-l
。
之后,我用:semanageport-l | grep5000
过滤输出
我意识到这个端口5000是由commplex\u main\u port\u t使用的,我在speedguide中搜索,发现:5000 tcp,udp**UPnP**
结论,可能我的问题是绑定一个标准端口
要添加所需端口,请使用以下命令:
sudo semanage port -a -t http_port_t -p tcp [yourport]
现在使用sudo运行nginx:
sudo systemctl stop nginx
sudo systemctl start nginx
您是否使用root用户运行systemctl命令?因为这是我能想到的权限被拒绝错误的唯一原因,我正在用Root运行主进程。我使用root配置了所有,但问题仍然存在。fiproxy.sockI的权限是什么?我创建了一个nginx用户。在运行semanage命令ValueError后,我收到了此错误:端口tcp/3306已定义在我的情况下,您应该将-a更改为-m以进行修改。