【发布时间】:2022-03-04 13:29:09
【问题描述】:
我有一个 Python 应用程序在服务器上运行。我正在尝试在我的应用程序中配置 uwsgi 服务器。
uwsgi.conf 文件位置:/etc/init/uwsgi.conf
# file: /etc/init/uwsgi.conf
description "uWSGI starter"
start on (local-filesystems and runlevel [2345])
stop on runlevel [016]
respawn
# home - is the path to our virtualenv directory
# pythonpath - the path to our django application
# module - the wsgi handler python script
exec /home/testuser/virtual_environments/django-new/bin/uwsgi \
--uid root \
--home /home/testuser/virtual_environments/django-new \
--pythonpath /home/testuser/django \
--socket /tmp/uwsgi.sock \
--chmod-socket \
--module wsgi \
--logdate \
--optimize 2 \
--processes 2 \
--master \
--logto /var/log/uwsgi.log
我已经创建了这个 .ini 文件:
/etc/uwsgi/app-available/uwsgi.ini
[uwsgi]
home = /home/testuser/virtual_environments/django-new
pythonpath = /home/testuser/django
socket = /tmp/uwsgi1.sock
module = wsgi
optimize = 2
processes = 2
nginx配置:
/etc/nginx/站点可用/默认
upstream uwsgicluster {
#server unix:/tmp/uwsgi.sock;
server unix:///tmp/uwsgi1.sock;
}
server {
location / {
uwsgi_pass uwsgicluster;
#uwsgi_pass unix:/run/uwsgi/app/scisphere/socket;
#proxy_pass http://uwsgicluster;
include /etc/nginx/uwsgi_params;
}
location /static {
root /home/testuser/django/main;
}
location /media {
root /home/testuser/django;
}
}
我尝试启动服务器:
sudo service uwsgi start
我收到 502 Bad Gateway 错误。如何在uwsgi.conf中配置uwsgi.ini文件?
【问题讨论】:
-
您应该先尝试几个步骤,运行: uwsgi --ini path/to/uwsgi.ini # 验证 uwsgi 是否工作正常。接下来查看 /var/log/nginx/error.log 中的 nginx 日志,因为 .sock 可能存在一些权限问题,如下所述,缺少包括 uwsgi_params;