web-dev-qa-db-fra.com

Comment corriger "chdir (): Aucun fichier ou répertoire de ce type [uwsgi.c ligne 1723]" n'est activé dans wsgi sur nginx?

J'ai un projet treeio dans mon répertoire personnel, je souhaite maintenant l'exécuter dans le serveur nginx. Déjà treeio peut fonctionner indépendamment sur Django vient avec la source. Je ne veux pas l'exécuter sur Django serveur, mais je veux l'exécuter sur le serveur Nginx. Je viens de suivre les étapes données dans ce réponse de Karthik .

Toutefois, lors de l'exécution ou à la suite de l'étape 4 de cette réponse, l'erreur suivante est générée:

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

Mon fichier uwsgi.ini contient

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

S'il vous plaît aidez-moi dans le déploiement de treeio sur le serveur nginx.

9
ADR

Le message d'erreur chdir indique qu'il tente d'obtenir un répertoire qui n'existe pas.

Il semblerait d'après votre sortie affichée que ce répertoire soit /home/rajesh/treeio ou /home/treeio/.

Étant donné que le répertoire a été configuré pour agir en tant que répertoire de projet Django pertinent, il s'agira probablement de /home/treeio/; mais cette configuration n'a peut-être été spécifiée que dans le uwsgi.ini que vous avez affiché.

Par conséquent, il est très probable qu'il existe, et donc un problème d'autorisation, du fait que /home/treeio/ ne doit pas nécessairement exister.

2
odoncaoa

Un conseil général sur

chdir(): No such file or directory

erreurs de type.

Son ennuyeux quand un message d'erreur dit "fichier non trouvé" mais ne vous dit pas quel fichier il recherche. strace peut aider, il imprime tous les appels système.

essayer

strace uwsgi --ini uwsgi.ini

la sortie est cryptique, mais quelque part vers la fin du fichier, il devrait indiquer quel répertoire est manquant.

Dans ce cas, probablement/home/treeio /

1
teknopaul