nginx의 wsgi에서 “chdir () : No such file or directory [uwsgi.c line 1723]”을 어떻게 수정합니까? Starting uWSGI 1.0.3-debian

홈 디렉토리에 treeio 프로젝트가 있는데, 이제 nginx 서버에서 해당 treeio를 실행하고 싶습니다. 이미 Django에서 독립적으로 실행할 수있는 트리오가 소스와 함께 제공됩니다. 장고 서버에서 실행하고 싶지 않지만 nginx 서버에서 실행하고 싶습니다. 나는 방금 Karthik의 대답에 주어진 단계를 따랐습니다 .

그러나 해당 답변에서 4 단계를 실행하거나 수행하는 동안 다음 오류가 발생합니다.

[uWSGI] getting INI configuration from uwsgi.ini
* Starting uWSGI 1.0.3-debian (32bit) on [Thu Jun 27 17:22:01 2013] *
compiled with version: 4.6.3 on 17 July 2012 02:24:04
current working directory: /home/rajesh/treeio
detected binary path: /usr/bin/uwsgi-core
chdir(): No such file or directory [uwsgi.c line 1723]

uwsgi.ini파일에

[uwsgi]
# set the http port
http = :8080

# change to django project directory
chdir = /home/treeio/

# add /var/www to the pythonpath, in this way we can use the project.app format
pythonpath = /var/www

# set the project settings name
env = DJANGO_SETTINGS_MODULE=treeio.settings

# load django
module = django.core.handlers.wsgi:WSGIHandler()

nginx 서버에 treeio를 배포하는 데 도움을주십시오.



답변

chdir 오류 메시지는 존재하지 않는 디렉토리를 가져 오려고 함을 나타냅니다.

표시된 출력에서 ​​해당 dir은 /home/rajesh/treeio또는 /home/treeio/입니다.

dir이 관련 django project dir로 작동하도록 구성되어 있다면 /home/treeio/, 아마도 더 낫습니다 . 그러나 해당 구성은 uwsgi.ini사용자가 표시 한 구성에서만 지정되었을 수 있습니다.

따라서, 존재 /home/treeio/하지 않아도 되기 때문에 존재 가능성이 매우 높기 때문에 권한 문제가 발생할 수 있습니다.


답변

에 대한 일반적인 팁

chdir(): No such file or directory

유형 오류.

오류 메시지에 “파일을 찾을 수 없음”이라는 메시지가 표시되지만 찾고자하는 파일은 알려주지 않습니다. strace는 모든 시스템 호출을 인쇄합니다.

시험

strace uwsgi --ini uwsgi.ini

출력은 암호화되어 있지만 그 끝에 어딘가에 누락 된 디렉토리를 알려야합니다.

이 경우 아마도 / home / treeio /


답변