在DigitalOcean上通过Nginx/Gunicorn吹响API



我正试图通过gunicorn/nginx在液滴上建立我的第一个Flask API。我在过去遇到过nginx的问题,我认为我已经很好地解决了它。以下是我的nginx.conf 的相关部分

server {
listen 80;                                                                                                                                                                                                                                                                                                                                                                                                                    
location / {
include proxy_params;
proxy_pass http://unix:/root/path/to/app.sock;
}
}

我可以卷曲或访问IP地址,甚至我的子域,并获得nginx主页没有问题。问题是当我尝试使用端口5000时,这是Flask的默认端口。我得到了一个";连接被拒绝";无论我怎么尝试都会出错;Nginx HTTP"Nginx Full";,甚至是端口5000。如果没有连接拒绝错误,我甚至无法在我的液滴上卷曲localhost:5000。

api.service文件:

[Unit]
Description=flask_app gunicorn service
[Service]
User=root
WorkingDirectory=/root/path/to
ExecStart=gunicorn --workers 5 --bind unix:/root/path/to/app.sock -m 777 flask_app:app
Restart=always
[Install]
WantedBy=multi-user.target

我错过了什么?作为参考,我昨晚让它正常工作,并且正在测试我的应用程序,没有任何问题;应用程序连接到API并运行我的Python函数。从那以后,我没有更改任何设置,甚至没有重新启动我的液滴。

编辑:

我将nginx设置中的端口80更改为端口5000,现在我可以从家庭服务器卷曲我的子域和IP地址,并获得nginx主页。然而,我现在在我的飞沫和家庭服务器上的5000端口上都收到了一个502坏网关。

在这个例子中,我的问题出现在我的nginx.conf中。由于某种原因,默认情况下,我的液滴设置了几十个不同的用户配置文件,并将其中一个用于我的ngingx.conf文件。即使在sudo chown -R www-data:www-data /var/lib/nginx之后,它仍然不起作用,所以我将nginx.conf设置为root,现在我们开始比赛。

最新更新