Как мне исправить «chdir (): Нет такого файла или каталога [uwsgi.c line 1723]» в wsgi на nginx?

У меня есть проект treeio в моем домашнем каталоге, теперь я хочу запустить это treeio на сервере nginx. Treeio уже может работать самостоятельно на Django с исходным кодом. Я не хочу запускать это на сервере Django, но я хочу запустить его на сервере nginx. Я просто выполнил шаги, данные в этом ответе Картика .

Однако при выполнении или выполнении шага 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()

Пожалуйста, помогите мне в развертывании treeio на сервере nginx.

9
задан 23 May 2017 в 15:39

3 ответа

Сообщение об ошибке chdir указывает, что он пытается получить dir, который не существует.

Из вашего отображенного вывода может быть видно, что dir будет либо /home/rajesh/treeio, либо /home/treeio/.

Учитывая, что каталог был настроен для работы в качестве соответствующего каталога проекта django, он, скорее всего, будет /home/treeio/; но эта конфигурация может быть указана только в отображенном вами uwsgi.ini.

Таким образом, очень вероятно, что он существует, и, следовательно, проблема с разрешением, из-за того, что /home/treeio/ не должно существовать.

0
ответ дан 23 May 2017 в 15:39

Общий совет об ошибках типа

chdir(): No such file or directory

.

Это раздражает, когда сообщение об ошибке говорит «файл не найден», но не говорит вам, какой файл он ищет. strace может помочь, он печатает все системные вызовы.

try

strace uwsgi --ini uwsgi.ini

вывод зашифрован, но где-то ближе к концу он должен указать, какой каталог отсутствует.

В этом случае, вероятно, / home / treeio /

0
ответ дан 23 May 2017 в 15:39

Я получил такое же сообщение об ошибке. Я проверил файл журнала ошибок - django.log - доступный в /var/log/uwsgi/app/ и измененный путь к папке проекта, который заканчивается знаком "/" в файле конфигурации /var/www/html/sites-enabled и решил проблему для меня.

-1
ответ дан 3 June 2020 в 08:48

Другие вопросы по тегам:

Похожие вопросы: