gpt4 book ai didi

python-3.x - Gunicorn 不使用套接字与 nginx 绑定(bind)

转载 作者:行者123 更新时间:2023-12-05 07:48:35 26 4
gpt4 key购买 nike

我的配置是这样的

#/etc/systemd/system/gunicorn.service

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=django
Group=www-data
WorkingDirectory=/home/django/testapp
ExecStart=/home/django/venvs/testenv/bin/gunicorn --workers 3 --bind unix:/home/django/testapp/testapp.sock testapp.wsgi:application

[Install]
WantedBy=multi-user.target

这是我的 nginx 配置:

# /etc/nginx/sites-enabled/testapp
server {
listen 80;
server_name server_domain_or_IP;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/django/static;
}

location / {
include proxy_params;
proxy_pass http://unix:/home/django/testapp/testapp.sock;
}
}

我注意到如果我从我的控制台运行这个命令:

/home/django/venvs/testenv/bin/gunicorn --workers 3 --bind unix:/home/django/testapp/testapp.sock testapp.wsgi:application

然后它在控制台中显示它正在工作,但仍然无法访问 URL。

这是输出的样子:

[2016-07-11 16:29:41 -0400] [1545] [INFO] Starting gunicorn 19.6.0
[2016-07-11 16:29:41 -0400] [1545] [INFO] Listening at: unix:/home/django/testapp/testapp.sock (1545)
[2016-07-11 16:29:41 -0400] [1545] [INFO] Using worker: sync
[2016-07-11 16:29:41 -0400] [1548] [INFO] Booting worker with pid: 1548
[2016-07-11 16:29:41 -0400] [1550] [INFO] Booting worker with pid: 1550
[2016-07-11 16:29:41 -0400] [1551] [INFO] Booting worker with pid: 1551

但是,我仍然无法访问服务器的 url。我尝试用端口 80、8000 和 9001 打开 url,但都没有用。 (nginx 在 80 上运行)。

我使用的是 python3.5 和 gunicorn 19.6.0。

有人有什么建议吗?非常感谢!

最佳答案

我可以帮你配置nginx。不确定 socket ,但我觉得不错。

你需要:

# /etc/nginx/sites-available/testapp
server {
listen 80;
server_name server_domain_or_IP;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/django/static;
}

location / {
include proxy_params;
proxy_pass http://unix:/home/django/testapp/testapp.sock;
}
}

然后创建一个从 sites-available 到 sites-enable use 的链接:

ln -s /etc/nginx/sites-available/testapp /etc/nginx/sites-enabled/testapp

运行命令:

sudo service nginx configtest 

它测试您的 nginx 配置文件是否正常运行。如果提示 [OK] 那么:

sudo servie nginx restart

另外nginx的思想是监听域名,而不是端口。这就是为什么我建议您修改主机文件Windows C:\Windows\System32\drivers\etc\hosts 添加如下一行:127.0.0.1 测试应用并修改 nginx 配置文件:

# /etc/nginx/sites-available/testapp
server {
server_name testapp;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/django/static;
}

location / {
include proxy_params;
proxy_pass http://unix:/home/django/testapp/testapp.sock;
}
}

重复步骤检查nginx配置文件并重启nginx

关于python-3.x - Gunicorn 不使用套接字与 nginx 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38315730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com