Quelle pourrait être la cause de cette erreur:
$ Sudo tail -n 100 /var/log/Apache2/error.log '
[Wed Dec 29 15:20:03 2010] [error] [client 220.181.108.181] mod_wsgi (pid=20343): Exception occurred processing WSGI script '/home/username/public_html/idm.wsgi'.
[Wed Dec 29 15:20:03 2010] [error] [client 220.181.108.181] IOError: failed to write data
Voici le script WSGI:
$ cat public_html/idm.wsgi
import os
import sys
sys.path.append('/home/username/public_html/IDM_app/')
os.environ['Django_SETTINGS_MODULE'] = 'settings'
import Django.core.handlers.wsgi
application = Django.core.handlers.wsgi.WSGIHandler()
Pourquoi Django ne pourrait-il pas écrire des données?
J'utilise Django 1.2.4
Cette erreur, sans aucune sorte de trace Python, peut être une variante du problème décrit dans:
http://code.google.com/p/modwsgi/issues/detail?id=29&can=1
Cela se produit lorsque la connexion du client HTTP est perdue avant que le serveur Web puisse réécrire la réponse complète. IOError dans le journal des erreurs Apache uniquement peut indiquer «connexion fermée par le client», «échec d'écriture des données» ou «échec de l'effacement des données». C'est-à-dire, non vu par l'application WSGI car l'écriture des données a lieu après le retour de l'application WSGI et ne peut donc pas renvoyer d'exception à l'application avec laquelle elle ne fait rien.
La question est de savoir si vous recevez un message d'erreur de Django si vous configurez les erreurs pour qu'elles vous soient envoyées par courrier électronique. Si vous le faites, alors, il se passe quelque chose dans Django.
J'ai le même problème dans une application qui utilise beaucoup d'appels AJAX (mod_wsgi 3.3). Y at-il une solution connue pour cela? J'ai pensé ignorer l'exception, mais ce n'est généralement pas une très bonne idée.
METTRE À JOUR
En réalité, cela peut être dû à plusieurs facteurs, mais la cause la plus probable est que vous utilisez le rappel write
au lieu de yield
ing votre sortie.
Je crois que cela aidera:
http://groups.google.com/group/modwsgi/browse_thread/thread/c9cc1307bc10cfff
J'ai trouvé le même problème avec mon application Web python dans Digital Ocean et après avoir vérifié le fichier journal sérieusement, j'ai découvert qu'il s'agissait d'un problème lié à ma base de données mysql! Le problème était dû au fait que j'exécutais out storage (RAM) Alors, vérifiez ces questions et résoudre le problème!
Et ceci
J'espère que ça va aider