使用Gunicorn部署Django应用程序时出错?

时间:2017-08-26 14:11:46

标签: python linux django gunicorn systemd

我尝试使用ngnix-gunicorn部署django应用程序,如下所示: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04 我没有virtualenv就做到了。这是' gunicorn.service'文件。 当我尝试制作系统时,我遇到了错误。

[Unit]
Description=gunicorn daemon
After=network.target
[Service]
Environment=SECRET_KEY='*uj$'
User=root
Group=www-data
WorkingDirectory=/root/myproject
ExecStart=/usr/local/bin/gunicorn --access-logfile - --workers 3 --bind unix:/root/myproject/myproject.sock myproject.wsgi:application

[Install]
WantedBy=multi-user.target

这是创建systemd时的错误。

● gunicorn.service - gunicorn daemon
   Loaded: loaded (/etc/systemd/system/gunicorn.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2017-08-26 14:05:19 UTC; 6s ago
  Process: 24747 ExecStart=/usr/local/bin/gunicorn --access-logfile - --workers 3 --bind unix:/root/test1/test1.sock test1.wsgi:applica
 Main PID: 24747 (code=exited, status=200/CHDIR)

Aug 26 14:05:19 ip-172-31-1-229 systemd[1]: Started gunicorn daemon.
Aug 26 14:05:19 ip-172-31-1-229 systemd[1]: gunicorn.service: Main process exited, code=exited, status=200/CHDIR
Aug 26 14:05:19 ip-172-31-1-229 systemd[1]: gunicorn.service: Unit entered failed state.
Aug 26 14:05:19 ip-172-31-1-229 systemd[1]: gunicorn.service: Failed with result 'exit-code'.

1 个答案:

答案 0 :(得分:0)

我尝试用supervisord运行gunicorn。使用以下配置,它的工作效果非常好。

[program:analytics]
command = /home/ubuntu/code/analytics/bin/gunicorn example.wsgi:application --name example --workers 4 --user=ubuntu --timeout=3600 --bind 127.0.0.1:8000
user = ubuntu ; User to run as
stdout_logfile = /home/ubuntu/code/example/current/slog/gunicorn_start.log  ; Where to write log messages
redirect_stderr = true     ; Save stderr in the same log
environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8,PYTHONPATH=/home/ubuntu/code/current/example/bin/python ; Set UTF-8 as default encoding

您可以尝试将supervisord安装为pip,并使用supervisord.conf的include参数将上述配置包含在其中。

有关详细信息:http://supervisord.org/