我完全按照这里的说明进行操作:http://www.onurguzel.com/how-to-run-flask-applications-with-nginx-using-gunicorn/
一切似乎都在运行,除了当我转到 domain.com 时,我的网站没有加载。只有当我转到 domain:5555(其中 flask 设置为运行)时,我才能访问我的站点。
这是因为我的烧瓶设置在调试模式下吗?
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5555, debug=True)
如果你按照帖子中所述进行了配置,那么你需要替换这个
proxy_pass http://127.0.0.1:8000;
有了这个
proxy_pass http://127.0.0.1:5555;
不是我见过的最好的nginx配置,它使用"if"和If Is Evil,当我有空闲分钟时,我会为您重写此配置,只需确保它在此更改后首先可以正常工作,不要忘记运行
sudo service nginx reload
<小时 />编辑:对不起,我忘记了这个,这是我对if
部分的替代品
location / {
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
try_files $uri @proxy;
}
location @proxy {
proxy_pass http://127.0.0.1:8000;
}
你可以试试,告诉我它是怎么回事。
您正在使用的应用程序app.run()
方法不使用gunicorn或nginx,而是运行Flask的开发Web服务器。
返回您引用的页面并重新阅读有关使用 gunicorn 启动应用程序的部分。一旦你用gunicorn运行了应用程序,你可以通过打开http://127.0.0.1:8000
(从你的服务器,而不是从外部)来测试,然后用他们提供的配置启动nginx,这将按照你的预期在你的域上公开应用程序。