如何在nginx的wsgi中修复“ chdir():没有这样的文件或目录[uwsgi.c第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 '16

Answers:


2

chdir错误消息表明它正在尝试获取不存在的目录。

从显示的输出中可以看到,该目录可能是/home/rajesh/treeio/home/treeio/

假定该目录已配置为充当相关的django项目目录,则很有可能是/home/treeio/; 但是该配置只能在uwsgi.ini您显示的中指定。

因此,由于/home/treeio/不必存在,因此很可能存在,因此存在许可问题。


1

一般提示

chdir(): No such file or directory

输入错误。

当错误消息显示“找不到文件”但没有告诉您要查找的文件时,它很烦人。strace可以提供帮助,它可以打印所有系统调用。

尝试

strace uwsgi --ini uwsgi.ini

输出是神秘的,但是在末尾的某个位置应该可以知道缺少哪个目录。

在这种情况下,可能是/ home / treeio /

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.