Come riparo “chdir (): nessun file o directory [uwsgi.c line 1723]” su in wsgi su nginx?


9

Ho un progetto treeio nella mia directory home, ora voglio eseguire quel treeio nel server nginx. Già il treeio può funzionare indipendentemente su Django viene fornito con la fonte. Non voglio eseguirlo nel server Django, ma voglio eseguirlo sul server nginx. Ho appena seguito i passaggi indicati in questa risposta di Karthik .

Tuttavia, durante l'esecuzione o seguendo il passaggio 4 da quella risposta, genera il seguente errore:

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

Il mio uwsgi.inifile contiene

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

Aiutatemi a distribuire treeio nel server nginx.


Includi la configurazione ( uwsgi.inie nginx) nella tua domanda. E anche un link alla risposta / elenco di passaggi a cui ti riferisci (sono in un'altra domanda?).
gertvdijk,

@ADR hai mai capito la risposta a questo problema?
Mark Stosberg,

Risposte:


2

Il messaggio di errore chdir indica che sta cercando di ottenere una directory che non esiste.

Dal tuo output visualizzato sembrerebbe che quella directory sarebbe /home/rajesh/treeioo /home/treeio/.

Dato che la dir è stata configurata per fungere da dir del progetto django rilevante, molto probabilmente lo sarebbe /home/treeio/; ma quella configurazione potrebbe essere stata specificata solo in quella uwsgi.iniche hai visualizzato.

Pertanto, è molto probabile che esista, e quindi un problema di autorizzazione, a causa del fatto che /home/treeio/non deve esistere.


1

Un consiglio generale

chdir(): No such file or directory

errori di tipo.

È fastidioso quando un messaggio di errore dice "file non trovato" ma non ti dice quale file sta cercando. strace può dare una mano, stampa tutte le chiamate di sistema.

provare

strace uwsgi --ini uwsgi.ini

l'output è criptico ma lì dentro verso la fine dovrebbe dire quale directory manca.

In questo caso probabilmente / home / treeio /

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.