【发布时间】:2019-09-29 13:18:31
【问题描述】:
我正在拼命想弄清楚为什么我无法使用 uWSGI nginx 和 Ubuntu 服务器部署我的烧瓶应用程序。
这是我在 nginx 错误日志中的错误:
2019/05/12 09:00:19 [error] 10154#10154: *1 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 24.27.57.18, server: itinareport.tk, request: "POST /login HTTP/1.1", upstream: "uwsgi://unix:/home/pinchrep2/itinarep/itinarep.sock", host: "www.itinareport.tk", referrer: "http://www.itinareport.tk/login"
在使用烧瓶 uWSGI 和 nginx 完成所有设置后,我可以输入我的域名,然后它会将我带到我的网页(登录页面)。尝试登录时页面暂停一段时间,然后我收到 504 Gateway Time-Out
请告诉我应该怎么做。这是我第一次部署应用程序,我花了大约一周的时间尝试不同的配置。我应该让你知道我的烧瓶应用程序通过 ssh 隧道连接到数据库到另一台服务器。不确定这是否也会导致此问题。如果可能,请提供帮助或为我指明正确的方向。
这是我的服务器块配置文件
server{
listen 80;
server_name itinareport.tk www.itinareport.tk;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/pinchrep2/itinarep/itinarep.sock;
}
这是我的服务文件:
[Unit]
Description=uWSGI instance to serve itinarep
After=network.target
[Service]
User=pinchrep2
Group=www-data
WorkingDirectory=/home/pinchrep2/itinarep
Environment="PATH=/home/pinchrep2/itinarep/it_venv/bin"
ExecStart=/home/pinchrep2/itinarep/it_venv/bin/uwsgi --ini itinarep.ini
[Install]
WantedBy=multi-user.target
这是我的 ini 文件
[uwsgi]
module = wsgi:app
master = true
processes = 5
socket = itinarep.sock
chmod-socket = 660
vacuum = true
die-on-term=true
【问题讨论】:
-
你能发布 Python 脚本吗?问题可能就在那里!
-
@gerwin 嘿,谢谢你这么快回来。所以我的主要python文件很大。当我使用 python 运行应用程序时,我可以访问我的服务器指定的公共 ip 和端口,并且能够完美地登录。在运行脚本 uwsgi —socket 0.0.0.0:5000 —protocol=http -w wsgi:app 时,我也收到了同样的成功行为。您想查看 python 文件的特定部分吗?
-
我认为登录路由可能只是超时,但似乎并非如此。您可以发布将服务器绑定到套接字的部分吗?
-
@gerwin 不用担心。我遵循了这个指南digitalocean.com/community/tutorials/…我不确定哪个部分会绑定端口。我也是一个完全的菜鸟。抱歉,如果这些都没有帮助。
-
能否获取服务的日志文件?也许那里有错误。您可以使用 journalctl 获取它
标签: python ubuntu nginx flask uwsgi