我尝试使用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'.
答案 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/