Como eu corrijo “chdir (): Nenhum desses arquivos ou diretórios [uwsgi.c line 1723]” em wsgi on nginx?

9

Eu tenho o projeto treeio no meu diretório home, agora eu quero rodar o treeio no servidor nginx. Já o treeio pode rodar independentemente no Django vem com a fonte. Eu não quero correr isso no servidor Django, mas eu quero executá-lo no servidor nginx. Acabei de seguir os passos dados nesta resposta do Karthik .

No entanto, durante a execução ou após o passo 4 dessa resposta, o seguinte erro é exibido:

[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 arquivo uwsgi.ini 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, ajude-me a implantar o treeio no servidor nginx.

    
por ADR 27.06.2013 / 14:20

2 respostas

2

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

Apareceria da sua saída exibida que, esse diretório seria /home/rajesh/treeio ou /home/treeio/ .

Dado que o diretório foi configurado para atuar como um diretório relevante do projeto django, é mais provável que seja /home/treeio/ ; mas essa configuração só pode ter sido especificada no uwsgi.ini que 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.

    
por user261380 03.10.2017 / 19:30
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. strace pode ajudar, ele imprime todas as chamadas do sistema.

tente

strace uwsgi --ini uwsgi.ini
A saída

é enigmática, mas em algum lugar perto do final do arquivo, ela deve informar qual diretório está faltando.

Neste caso, provavelmente / home / treeio /

    
por teknopaul 05.06.2017 / 23:49

Tags