У меня есть проект 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.
Сообщение об ошибке chdir указывает, что он пытается получить dir, который не существует.
Из вашего отображенного вывода может быть видно, что dir будет либо /home/rajesh/treeio
, либо /home/treeio/
.
Учитывая, что каталог был настроен для работы в качестве соответствующего каталога проекта django, он, скорее всего, будет /home/treeio/
; но эта конфигурация может быть указана только в отображенном вами uwsgi.ini
.
Таким образом, очень вероятно, что он существует, и, следовательно, проблема с разрешением, из-за того, что /home/treeio/
не должно существовать.
Общий совет об ошибках типа
chdir(): No such file or directory
.
Это раздражает, когда сообщение об ошибке говорит «файл не найден», но не говорит вам, какой файл он ищет. strace может помочь, он печатает все системные вызовы.
try
strace uwsgi --ini uwsgi.ini
вывод зашифрован, но где-то ближе к концу он должен указать, какой каталог отсутствует.
В этом случае, вероятно, / home / treeio /
Я получил такое же сообщение об ошибке. Я проверил файл журнала ошибок - django.log - доступный в /var/log/uwsgi/app/ и измененный путь к папке проекта, который заканчивается знаком "/" в файле конфигурации /var/www/html/sites-enabled и решил проблему для меня.