【发布时间】:2025-11-22 06:15:01
【问题描述】:
我创建了一个不使用虚拟环境的 django 应用程序。我已经安装了 nginx 并尝试通过 uwsgi 应用程序集成它们。 这是我的配置文件。
[uwsgi]
chdir = /home/elastic/workspace/ES_Brevetti
wsgi-file = ES_Brevetti/wsgi.py
master = true
processes = 5
uid = nginx
gid = nginx
socket = unix:///socket/uwsgi.sock
chmod-socket = 666
vacuum = true
我已经创建了文件 /sockect/uwsgi.sock,权限为 777
chown nginx:nginx -R /sockect/uwsgi.sock
及以下 nginx 配置文件:
upstream django {
server unix:///socket/uwsgi.sock; # for a file socket
#server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}
server {
listen 80;
server_name 10.184.2.231;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
charset utf-8;
location /static/ {
alias /home/elastic/workspace/ES_Brevetti;
}
location / {
include uwsgi_params;
uwsgi_pass unix:///socket/uwsgi.sock;
}
}
当我启动“systemctl start nginx”时,nginx 启动时出现错误: 连接到上游时,connect() 到 unix:///socket/uwsgi.sock 失败(111:连接被拒绝),
当我运行 uwsgi --ini /etc/uwsgi/sites/ES_Brevetti.ini 时,它不会出现错误:
.....
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
bind(): Permission denied [core/socket.c line 230]
我做错了什么?在谷歌上,我只能在不使用虚拟环境时看到带有 VENV 的配置。
【问题讨论】:
-
现在 uwsgi 已启动并运行,但继续收到以下错误:502 Bad Gateway 和 nginx 日志文件我得到“connect() to unix:///socket/uwsgi.sock failed (111 :连接被拒绝)同时连接到上游”。有什么帮助吗?
-
你说运行 uwsgi 运行不会出错,但是输出显示错误
bind(): Permission denied,看起来和你的111: Connection refused错误一样。这表明您的套接字没有正确的所有权/权限。您能否显示套接字的权限并说明您正在以什么用户身份运行所有内容? -
好的,谢谢你的回复。我对 uwsgi.sock 的套接字权限是 777,所有者是 nginx:nginx nginx 服务器以 root 身份启动:“sudo systemctl start nginx”否则它不会启动,而 uwsgi 以用户“elastic”运行,即我的用户登录但在ini文件中我有uid = nginx gid = nginx ....有什么帮助吗?顺便说一句,我添加了 nginx
-
顺便说一句,我也有:sudo usermod -a -G elastic nginx chmod 710 /home/elastic
-
我没有任何权限被拒绝,但我仍然有 111:在我启动 nginx 时连接被拒绝。这个错误来自哪里?