错误 502:使用 Gunicorn 和 Nginx 部署 Django 应用程序

错误 502:使用 Gunicorn 和 Nginx 部署 Django 应用程序

我已经使用 Django 开发了一个 Web 应用程序,并尝试在使用 Azure 创建的虚拟机中发布它。为此,我使用了以下软件堆栈:

  • 乌本图(20.04)
  • Django(3.0.7)
  • 虚拟环境 (20.0.17)
  • Gunicorn(20.1.0)
  • Nginx(1.18.0)

为了部署该应用程序,我遵循了以下指南:https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04

我的 django 项目文件夹组织如下:

home/
├─ useradmin/
│  ├─ myproject/
│  │  ├─ proj/
│  │  │  ├─ settings.py
│  │  │  ├─ urls.py
│  │  │  ├─ wsgi.py
│  │  │  ├─ ...
│  │  ├─ static/
│  │  ├─ templates/
│  │  ├─ venv/
│  │  ├─ manage.py
│  │  ├─ ...

这是我的/etc/systemd/system/gunicorn.service

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

[Service]
User=useradmin
Group=www-data
WorkingDirectory=/home/useradmin/myproject
ExecStart=/home/useradmin/myproject/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/useradmin/myproject/myproject.sock proj.wsgi:application
[Install]
WantedBy=multi-user.target

这是我的/etc/nginx/sites-available/myproject

server {
    listen 80;
    server_name mydomain.com;

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

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/useradmin/myproject/myproject.sock;
    }
}

当我导航到 mydomain.com 时,我收到 502 Bad Gateway 错误。如果我通过运行“sudo tail -F /var/log/nginx/error.log”检查 Nginx 日志,我会看到以下错误:

2022/03/16 08:27:33 [crit] 64480#64480: *3 connect() to unix:/home/useradmin/myproject/myproject.sock failed (2: No such file or directory) while connecting to upstream, client: XX.XX.XX.XX, server: mydomain.com, request: "GET / HTTP/1.1", upstream: "http://unix:/home/useradmin/myproject/myproject.sock:/", host: "mydomain.com"

为了创建 sock 文件,我运行了以下说明,但没有任何变化:

systemctl daemon-reload
systemctl restart gunicorn.service

更新 1:

尝试执行指令ls -la /home/useradmin/myproject/myproject.sock时出现错误ls: cannot access '/home/useradmin/myproject/myproject.sock': No such file or directory

相关内容