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


9

私のホームディレクトリに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を展開するのを手伝ってください。


uwsgi.ini質問に構成(およびnginx)を含めてください。また、あなたが参照しているステップの回答/リストにリンクします(別の質問にありますか?)。
gertvdijk 2013年

@ADRこの問題の答えを見つけたことがありますか?
Mark Stosberg、2016

回答:


2

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

それは、そのdirはどちらかだろう、あなたの表示出力から現れるでしょう/home/rajesh/treeio/home/treeio/

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

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


1

一般的なヒント

chdir(): No such file or directory

タイプエラー。

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

試す

strace uwsgi --ini uwsgi.ini

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.