web-dev-qa-db-ja.com

nginxのwsgiで「chdir():No such file or directory [uwsgi.c line 1723]」を修正するにはどうすればよいですか?

私のホームディレクトリにtreeioプロジェクトがあり、nginxサーバーでtreeioを実行したいです。すでにtreeioは、ソースに付属するDjangoで独立して実行できます。 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をデプロイするのを手伝ってください。

9
ADR

Chdirエラーメッセージは、存在しないディレクトリを取得しようとしていることを示しています。

表示された出力から、そのディレクトリは/home/rajesh/treeioまたは/home/treeio/のいずれかになります。

Dirが関連するDjangoプロジェクトdirとして機能するように設定されている場合、/home/treeio/になる可能性が高くなります。ただし、その構成は、表示したuwsgi.iniでのみ指定されている場合があります。

したがって、/home/treeio/が存在する必要がないという事実により、存在する可能性が非常に高いため、許可の問題が発生します。

2
odoncaoa

一般的なヒント

chdir(): No such file or directory

タイプエラー。

エラーファイルに「ファイルが見つかりません」と表示されていても、どのファイルを探しているかはわかりません。 straceは役立ちます。すべてのシステムコールを出力します。

試してみる

strace uwsgi --ini uwsgi.ini

出力は不可解ですが、そこの最後のどこかで、どのディレクトリが欠落しているかがわかるはずです。

この場合、おそらく/ home/treeio /

1
teknopaul