2016-12-29 59 views
0

我已经安装了gunicorn和我的django项目kb当我cd到kb并运行gunicorn --bind 0.0.0.0:8000 kb.wsgi:application它运行正常。设置gunicorn与Django一起运行

我有我的/etc/init/gunicorn.conf

description "Gunicorn application server handling myproject" 

start on runlevel [2345] 
stop on runlevel [!2345] 


respawn 
setuid user 
setgid www-data 
chdir /home/ubuntu/kb 

exec gunicorn --workers 3 --bind unix:/home/ubuntu/kb/kb.sock kb.wsgi:application 

运行纳米当我运行sudo service gunicorn start

我得到Failed to start gunicorn.service: Unit gunicorn.service not found.

UPDATE

的高管行:

exec gunicorn --workers 3 --bind unix:/home/ubuntu/kb/kb.sock kb.wsgi:application 

来自gunicorn安装在virtualenv中的一个例子。我已经编辑了exec virtualenv\bin\gunicornexec gunicorn

+0

也许这一个帮助:http://askubuntu.com/questions/749135/unit-gunicorn-service-failed-to-load-no-这样的文件或目录在ubuntu-15-1 – dahrens

+0

是的,这与我编辑的exec线有关,是针对virtualenv中的gunicorn。虽然这看起来可以起作用,但我更愿意弄清楚我是否可以使用全球安装的gunicorn工作。 –

+0

@SamuelMuiruri - 我不确定我是否理解virtualenv对该问题的相关性。链接的帖子表明,问题在于你应该使用'systemd'单元文件,例如http://docs.gunicorn.org/en/stable/deploy.html#systemd而不是'upstart'初始化文件。你试图运行的主机操作系统是什么? – 2016-12-29 08:28:56

回答

0

而不是使用gunicorn.conf更好地使用下面的文件....

须藤纳米/etc/systemd/system/gunicorn.service

添加下面的conf设置在这个文件....

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

[Service] 
User=dj 
Group=www-data 
WorkingDirectory=/home/dj/myproject 
ExecStart=/home/dj/myproject/myprojectenv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/dj/myproject/myproject.sock myproject.wsgi:app$ 

[Install] 
WantedBy=multi-user.target 

更改权限的目录..

搭配chmod克+ X /家/ DJ/

CHMOD克+ R /家庭/ DJ/

须藤chgrp命令WWW的数据/家/ DJ/

注:请确保该gunicorn应该是的virtualenv中..

FYI:PIP安装gunicorn下的virtualenv

希望这有助于你.. 它的工作对我来说..