Nginx权限被拒绝

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

我想在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 / {
                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以进行修改。