运行 DigitalOcean 上的 Gunicorn 服务启动 Django 项目

Run Gunicorn service on DigitalOcean starting a Django project

我在 /etc/systemd/system/gunicorn.service

有以下 systemd 文件
[Unit]
Description=Gunicorn daemon for Django Project
Before=nginx.service
After=network.target

[Service]
WorkingDirectory=/home/serverapp
ExecStart=gunicorn --name=avesoft  --bind unix:/home/serverapp/gunicorn.socket --config /etc/gunicorn.d/gunicorn.py WebApp.wsgi:application
Restart=always
SyslogIdentifier=gunicorn
User=root
Group=www-data


[Install]
WantedBy=multi-user.target

当我手动将目录更改为 /home/serverapp 和 运行 gunicorn --name=avesoft --bind unix:/home/serverapp/gunicorn.socket --config /etc/gunicorn.d/gunicorn.py WebApp.wsgi:application 时,一切正常,Nginx 通过 Gunicorn 连接到我的 Django 应用程序。

但是通过重新启动服务器,我得到了 Bad Gateway 错误,似乎 Gunicorn 还没有开始工作。我不明白我的服务文件不起作用的原因是什么。

所以我通过提供 gunicorn 的路径解决了这个问题:

[Unit]
Description=Gunicorn daemon for Django Project
Before=nginx.service
After=network.target

[Service]
WorkingDirectory=/home/serverapp
ExecStart=/usr/bin/gunicorn --name=avesoft  --bind unix:/home/serverapp/gunicorn.socket --config /etc/gunicorn.d/gunicorn.py WebApp.wsgi:application
Restart=always
SyslogIdentifier=gunicorn
User=root
Group=www-data


[Install]
WantedBy=multi-user.target