Question

Je suis mis en place Flask, un micro-framework web python sous apache avec mod_wsgi.

L'application fonctionne très bien, sauf confparser python. Cela jette pas d'erreur:

parser = ConfigParser.ConfigParser()
parser.read('snati.con')

Mais quand j'ajoute:

parser.get('database', 'user')

Je suis erreur interne du serveur sans rien dans le error.log d'Apache

J'ai essayé aussi:

file = open("sample.txt")

Le même résultat.

Il doit y avoir des problèmes de configuration, mais je ne peux pas le trouver.

Mes regards apache comme conf:

WSGIRestrictStdout Off

<VirtualHost *:80>
    ServerName my.com

    WSGIDaemonProcess myapp user=me group=me threads=5

    WSGIScriptAlias / /home/me/www/myapp.wsgi

    <Directory /home/me/www/myapp >
        WSGIProcessGroup myapp
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

Mon app.wsgi

#active the python virtualenv for this application
activate_this = '/home/gilles/www/snati/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))


import sys
sys.path.insert(0, '/home/gilles/www/snati/src')
sys.stdout = sys.stderr

from app import app as application

Que peut-il se tromper et pourquoi puis-je pas obtenir l'erreur dans le journal Apache?

Était-ce utile?

La solution

Utilisez des chemins absolus vers des fichiers dans votre code Python, pas des chemins relatifs.

Le répertoire de travail actuel du processus ne sera pas où votre code d'application et des fichiers est.

vous ne voyez pas des erreurs comme Flask ne les connecter sinon en mode débogage. application de configuration pour les capturer et les envoyer par courriel ou de les enregistrer d'une façon. Je ne me souviens pas quelles sont les options Flask a pour ce dernier.

Autres conseils

Ajoutez le chemin vers fichier de configuration apache avec une variable de la maison

WSGIDaemonProcess myapp user=me group=me threads=5 home=/path/to/your/directory

cela change le répertoire de travail pour le processus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top