nginx - 当我使用 UWSGI 运行时,我的页面没有响应
问题描述
我想要一个实时仪表板,我克隆了这个https://github.com/roniemartinez/real-time-charts-with-flask.git
我安装了要求,每当我使用“python application.py”命令运行时,应用程序运行正常且正常。应用程序中的“/”路由响应良好且运行良好......
我将应用程序添加到 uwsgi ini 文件中,并在运行时添加。“/”的网页变得无响应并每 30 秒显示一次图表。该应用程序一切正常。但我认为问题出在我的 nginx 配置或 uwsgi ini 上。
有什么问题?
[uwsgi]
base = /home/pi/Desktop/Bingo
app = application
module = %(app)
home = %(base)/venv
pythonpath = /home/pi/Desktop/Bingo/venv/bin/python
socket = /home/pi/Desktop/Bingo/%n.sock
chmod-socket = 666
callable = app
logto = /home/pi/Desktop/Bingo/log/uwsgi/%n.log
我的 nginx 配置是
server {
listen 80;
server_name localhost;
charset utf-8;
client_max_body_size 75M;
location /static {
root /home/pi/Desktop/Bingo;
}
location / { try_files $uri @labapp;}
location @labapp {
include uwsgi_params;
uwsgi_pass unix:/home/pi/Desktop/Bingo/lab_app_uwsgi.sock;
}
}
解决方案
uwsgi
日志可能包含一些有用的线索。将您uwsgi.ini
与我的一个进行比较,我发现了一些可能很重要的差异。首先,我总是chdir
在应用程序的基础上,在你的情况下看起来像
[uwsgi]
chdir = /home/pi/Desktop/Bingo
home = /home/pi/Desktop/Bingo/venv
module = application:application
... socket
... log
我还想知道是否也可能有不匹配,这取决于你如何命名事物,在
socket = /home/pi/Desktop/Bingo/%n.sock
和
uwsgi_pass unix:/home/pi/Desktop/Bingo/lab_app_uwsgi.sock;
nginx 错误日志是查看的地方。
(有关工作示例,请参见https://github.com/davewsmith/nginx-uwsgi-flask-starter/blob/master/provision/starter.ini )
推荐阅读
- apache-spark - 如何将 spark sql 行对象序列化为字节数组?
- sql - BigQuery:如何获取列中特定字段的值?
- python - 循环遍历应用函数的数据框的每一列并将结果保存为新列
- php - PHP mvc如何进行文件上传
- c++ - 使用基类模板检测 is_base_of
- php - 在 Mac 上找不到 XAMPP 对象
- python - 如何在 Python Lambda 中调用另一个文件中的函数?
- javascript - 清理比较
- android - 将 GameSpark BaaS 集成到 Android 后出现黑屏
- wordpress - Heroku 限制和 wordpress