2014-02-21 43 views
0

我是新来django并熟悉它。主管麻烦启动gunicorn

我正在使用主管和gunicorn。我正在关注这本书“实用的django项目”。所有的django,supervisor等都在virtualenv中运行。

我想创建一个独立的django应用程序。我创建了一个名为blog的文件夹并将其放置在主目录下。然后我添加了PYTHONPATH的路径。我可以清楚地看到从ipython成功添加的python路径。但是当我添加这个博客来安装我的django项目的应用程序设置时,主管开始给予麻烦。

我所见过的日志文件,它No module named blog

我的上司的conf文件是这样的

[program:gunicorn] 
command = ./manage.py run_gunicorn -w 4 -k gevent 
directory = /home/krishna/workspace/django/learn/ 
user = krishna 
autostart = true 
autorestart = true 
stdout_logfile = /var/log/supervisor/gunicorn.log 
stderr_logfile = /var/log/supervisor/gunicorn_err.log 

但是让我很沮丧更多的是,当我使用它恰恰是在上司的conf文件中的命令终端,gunicorn开始和平。

附加信息:

的sys.path的输出

/home/krishna/.virtualenvs/py1/bin 
/home/krishna/workspace/django/apps 
/home/krishna/workspace/django 
/home/krishna/workspace 
/home/krishna/workspace/django/learn 
/home/krishna/.virtualenvs/py1/lib/python2.7 
/home/krishna/.virtualenvs/py1/lib/python2.7/plat-x86_64-linux-gnu 
/home/krishna/.virtualenvs/py1/lib/python2.7/lib-tk 
/home/krishna/.virtualenvs/py1/lib/python2.7/lib-old 
/home/krishna/.virtualenvs/py1/lib/python2.7/lib-dynload 
/usr/lib/python2.7 
/usr/lib/python2.7/plat-x86_64-linux-gnu 
/usr/lib/python2.7/lib-tk 
/home/krishna/.virtualenvs/py1/local/lib/python2.7/site-packages 
/home/krishna/.virtualenvs/py1/local/lib/python2.7/site-packages/IPython/extensions 

我的博客文件夹是在/home/krishna/workspace/django/apps

编辑:我,包括我的博客文件夹中的文件结构

drwxr-xr-x 2 krishna krishna 4096 Feb 22 01:12 . 
drwxr-xr-x 3 krishna krishna 4096 Feb 22 00:17 .. 
-rw-r--r-- 1 krishna krishna  0 Feb 22 00:18 admin.py 
-rw-r--r-- 1 krishna krishna 136 Feb 22 01:09 admin.pyc 
-rw-r--r-- 1 krishna krishna 12288 Feb 22 00:27 .admin.py.swp 
-rw-r--r-- 1 krishna krishna  0 Feb 22 00:17 __init__.py 
-rw-r--r-- 1 krishna krishna 139 Feb 22 00:33 __init__.pyc 
-rw-r--r-- 1 krishna krishna 222 Feb 22 00:23 models.py 
-rw-r--r-- 1 krishna krishna 743 Feb 22 00:33 models.pyc 
-rw-r--r-- 1 krishna krishna  0 Feb 22 00:18 views.py 
+0

是否有gunicorn.log任何东西,或gunicorn_err.log? –

+0

正如我已经提到的错误日志说,模块博客不存在 –

+0

在他们的文件层次结构中显示源树(即您的django源文件)。应该有一个名为blog的目录。目录中应该有一个名为'__init __。py'的文件。这个问题涉及到未解决的模块问题:https://stackoverflow.com/questions/1260792/python-import-a-file-from-a-subdirectory/1260846 – hughdbrown

回答

1

您需要将PYTHONPATH放入环境中ent supervisord创建运行./manage.py,supervisord不会从您设置的任何地方继承环境变量PYTHONPATH

[program:gunicorn] 
command = ./manage.py run_gunicorn -w 4 -k gevent 
directory = /home/krishna/workspace/django/learn/ 
user = krishna 
autostart = true 
autorestart = true 
environment=PYTHONPATH="[Your PYTHONPATH goes here]" 
stdout_logfile = /var/log/supervisor/gunicorn.log 
stderr_logfile = /var/log/supervisor/gunicorn_err.log 

欲了解更多信息,请在the docs退房environment

0

我有一个配置类似的设置系统。我使用了gunicorn_django包装,该包装安装在virtualenv主目录的bin目录中以启动django项目。包装由枪炮提供。

我认为这会为你工作(只要记住路径调整到你的virtalenv目录):

[program:gunicorn] 
command=/path/to/virtualenv_dir/bin/gunicorn_django -w 4 -k gevent 
directory=/home/krishna/workspace/django/learn/ 
user=krishna 
autostart=true 
autorestart=true 
stdout_logfile = /var/log/supervisor/gunicorn.log 
stderr_logfile = /var/log/supervisor/gunicorn_err.log