python - 504 连接错误烧瓶 Nginx uWSGI Ubuntu
问题描述
大家好,我希望我能在这件事上得到一些指导。我有一个在 ubuntu 服务器上设置的烧瓶应用程序。它使用 ssh 创建一个到具有 mysql 数据库的 Centos 7 服务器的隧道。在 Ubuntu 服务器上使用 python 运行此应用程序后,我能够完美地登录到我的应用程序并从域 ip 中查看数据库中的数据。现在,在尝试在 nginx 和 uWSGI 上运行应用程序时,我实际上可以从我的域名访问登录页面。但是在输入我的凭据并尝试登录后,页面加载大约一分钟,我收到504 Connection Time Out Error
我是否会收到此消息,因为我的应用程序在处理来自我的数据时尝试访问另一台服务器。我不确定,也没有任何帮助。这是我的文件
服务器块
server {
listen 80;
server_name itinareport.tk www.itinareport.tk;
location / {
uwsgi_read_timeout 600;
include uwsgi_params;
uwsgi_pass unix:/home/pinchrep2/itinarep/itinarep.sock;
}
}
.ini 文件
[uwsgi]
module = wsgi:app
master = true
processes = 5
socket = itinarep.sock
chmod-socket = 660
vacuum = true
die-on-term=true
wsgi.py
from main import app
if __name__ == "__main__":
app.run()
服务文件
[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
这是我从主 py 文件 main.py SSH 的地方
sshforward = SSHTunnelForwarder(
("public ip", 22),
ssh_username = 'user',
ssh_password = 'pass',
remote_bind_address = ('127.0.0.1', 3306)
)
sshforward.start()
local_port = sshforward.local_bind_port
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret_key'
app.config['SQLALCHEMY_DATABASE_URI'] = f"mysql+pymysql://root@localhost:{local_port}/asteriskcdrdb"
if __name__ == "__main__":
app.run(host='0.0.0.0')
同样,我只需要部署它。请明智地指出正确的方向配置。我可以进入应用程序,但一旦登录我就会收到此问题。
解决方案
推荐阅读
- reactjs - 映射时如何在本机反应中仅渲染一次同名字段
- android - 如何增加底部导航栏Android Studio中存在的购物车图标上的文本
- android - 任务 ':app:compileDevDebugJavaWithJavac' 的执行失败。飘飘然
- python - 可以以联合方式训练 gensim word2vec 模型吗?
- android - 在 Android Studio 中,如何为每种产品风格添加不同的 Manifest 文件?
- c# - C# .NET Core 3.1 OData:从 https 到 http 的意外更改 URI
- centrifuge - 连接到专用通道 сentrifuge 时如何更正错误?
- c - 插入链表出错
- scala - 使用列表中的多列过滤空格或空值
- .net - 如何使用流利的验证将来自 asp.net Web 应用程序的输入错误输入到我的 Index.cshtml 视图中?