Question

J'ai essayé d'obtenir mod_wsgi travailler sur Apache via XAMPP sur mon Mac OS X Snow Leopard tout aujourd'hui jour sans succès. J'ai suivi toutes les instructions, une recherche sur Internet pour des solutions, etc, mais pas de chance jusqu'à présent. Voici mes étapes et les détails exact . Quand je lance localhost tout ce que je reçois est un écran blanc. Lorsque je retire "LoadModule wsgi_module modules/mod_wsgi.so" de httpd.conf localhost fonctionne comme prévu.

  1. Xcode téléchargé et installé.
  2. XAMPP est déjà installé et fonctionne.
  3. Je ne ai pas besoin d'installer Python comme OS X a déjà Python 2.6 en mode 64 bits.
  4. Télécharger et déballer mod_wsgi-2.6.tar.gz sur le bureau.
  5. Terminal » ./configure --with-apxs = / Applications / XAMPP / xamppfiles / bin / apxs --with-python = / System / Library / Frameworks / Python.framework / Versions / 2.6 / bin / python2.6 "(pas d'erreur)
  6. Terminal "make" (message "faire: Rien à faire pour` tous ».")
  7. Terminal "sudo make install" (pas d'erreur)
  8. Ajouter au fichier httpd.conf de XAMPP:

LoadModule wsgi_module modules/mod_wsgi.so
AddType text/html .py
WSGIScriptAlias /app-sample "/Applications/xampp/xamppfiles/htdocs/app-sample/main.py"

<Directory "/Applications/xampp/xamppfiles/htdocs/app-sample">  
Order deny,allow  
Allow from all  
</Directory>  

  1. Redémarrez Apache via XAMPP
Était-ce utile?

La solution

Tout d'abord, exécutez 'make distclean' puis refaire configure / make / make install pour mod_wsgi. Où avez-vous 'Terminal « make » (message « faire: Rien à faire pour` tous. »).» Indique qu'il y avait des résultats de construction antérieurs dans le répertoire et rien ne se sont construits pour que l'exécution de make

Ensuite, utilisez l'extension « .wsgi » au lieu de « .py » pour vous assurer que vous ne disposez pas d'un conflit avec une définition existante disant que les fichiers « py » doivent être exécutées sous forme de scripts CGI. Ceci est une raison commune pour les réponses vides. Les journaux d'erreurs Apache devraient vous donner des indices quant à ce qui est le problème.

En outre, que fait votre exemple d'application? Avez-vous essayé avec un simple programme Bonjour tout le monde selon la documentation sur le site mod_wsgi plutôt que de sauter à l'aide de votre propre programme. Si vous utilisez votre propre programme seulement, vous pouvez peut-être à l'origine des processus Apache de tomber en panne à cause d'un conflit de bibliothèque partagée entre les modules Apache et Python utilisé, quelque chose d'autre qui provoquera des réponses vides. Encore une fois, vérifiez soigneusement les journaux d'erreurs Apache pour informations enregistrées à la demande de temps est fait.

Enfin, votre programme pourrait juste être buggy et avoir une mauvaise syntaxe en réponse HTML retourné amenant à être pas affiché. Demandez au navigateur pour afficher la source de la page retournée par la demande et assurez-vous qu'il est pas HTML malformé.

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