2014-02-21 2 views
0

저는 장고를 처음 접하고 그것에 익숙합니다.관리자가 gunicorn을 시작하는 데 문제가 있습니다

관리자 및 gunicorn을 사용 중입니다. 나는이 책 "실용적인 장고 프로젝트"를 따라 가고있다. django, 관리자 등은 모두 virtualenv에서 실행됩니다.

나는 django의 독립 실행 형 응용 프로그램을 만들려고합니다. 블로그라는 폴더를 만들어 홈 디렉토리 아래에 두었습니다. 그리고 나서 PYTHONPATH에 경로를 추가했습니다. 분명히 파이썬 경로가 ipython에서 성공적으로 추가 된 것을 볼 수 있습니다. 그런데 내 장고 프로젝트의 설치된 앱 설정에이 블로그를 추가 할 때 감독자가 문제를 일으키기 시작했습니다.

내가 로그 파일과는 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

있습니까? –

+0

이미 오류 로그에 모듈 블로그가 없다고 언급되어 있습니다. –

+0

소스 트리 (즉, 장고 소스 파일)를 파일 계층에 표시하십시오. 블로그라는 디렉토리가 있어야합니다. 그리고 디렉토리에는'__init __. py'라는 이름의 파일이 있어야합니다. https://stackoverflow.com/questions/1260792/python-import-a-file-from-a-subdirectory/1260846 – hughdbrown

답변

1

을 environm에 입력해야합니다. supervisord가 ./manage.py을 실행하도록 생성하면 감독자는 사용자가 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 docsenvironment을 확인하십시오.

0

유사한 설정으로 구성된 시스템이 있습니다. dhango 프로젝트를 시작하려면 virtualenv 홈 디렉토리의 bin 디렉토리에 설치된 gunicorn_django 래퍼를 사용했습니다. 래퍼는 gunicorn에서 제공합니다. 나는이 당신을 위해 일 것이라고 생각

(당신의 virtalenv 디렉토리의 경로를 조정하는 기억) : gunicorn.log 아무것도 또는 gunicorn_err.log이

[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 
관련 문제