Como faço para corrigir “chdir (): nenhum arquivo ou diretório [uwsgi.c linha 1723]” no wsgi on nginx?

9

Eu tenho o projeto treeio no meu diretório pessoal, agora quero executar esse treeio no servidor nginx. O treeio já pode ser executado independentemente no Django que vem com a fonte. Não quero executar isso no servidor Django, mas quero executá-lo no servidor nginx. Eu apenas segui os passos dados nesta resposta de Karthik .

No entanto, ao executar ou seguir a etapa 4 dessa resposta, ele lança o seguinte erro:

[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]

Meu uwsgi.iniarquivo contém

[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()

Por favor me ajude na implantação do treeio no servidor nginx.

ADR
fonte
Inclua a configuração ( uwsgi.inie nginx) na sua pergunta. E também link para as respostas / lista de etapas às quais você está se referindo (elas estão em outra pergunta?).
gertvdijk
@ADR Você já descobriu a resposta para esse problema?
Mark Stosberg

Respostas:

2

A mensagem de erro chdir indica que está tentando obter um diretório que não existe.

Apareceria da saída exibida que, esse dir seria /home/rajesh/treeioou /home/treeio/.

Dado que o dir foi configurado para atuar como um dir relevante do projeto django, provavelmente seria /home/treeio/; mas essa configuração pode ter sido especificada apenas na uwsgi.inique você exibiu.

Portanto, é muito provável que exista e, portanto, um problema de permissão, devido ao fato de que /home/treeio/não precisa existir.

odoncaoa
fonte
1

Uma dica geral sobre

chdir(): No such file or directory

erros de tipo.

É irritante quando uma mensagem de erro diz "arquivo não encontrado", mas não informa qual arquivo está procurando. O strace pode ajudar, imprime todas as chamadas do sistema.

tentar

strace uwsgi --ini uwsgi.ini

a saída é enigmática, mas em algum lugar próximo ao final do arquivo deve informar qual diretório está ausente.

Nesse caso, provavelmente / home / treeio /

teknopaul
fonte