Question

Je suis en train de configurer le mini-cadre Python CherryPy avec FastCGI (en fait fcgid) sur Apache. Je suis sur un hébergement mutualisé, donc je ne pas avoir accès à httpd.conf, juste htaccess. J'ai suivi ces tutoriels en vain:

Je continue de recevoir 500 erreurs w / les journaux Apache en disant « Fin prématurée des en-têtes de script ». J'ai tout essayé (autorisations / shebangs / full-chemins / deamonized / non-daimonized). Je sais que Apache est correctement mon .fcgi exécute, parce que je suis en mesure d'imprimer le journal des erreurs de python, mais c'est tout. Quelqu'un at-il là-bas installé avec succès CherryPy ou tout autre cadre sur un hôte partagé avant? Votre aide serait grandement appréciée. Merci.

Était-ce utile?

La solution 3

L'article Bluehost a été la meilleure, mais je n'ai pas lu attentivement la partie à obtenir les derniers correctifs (le début de l'étape 3). Au moment de l'article, et même maintenant avec la version 3.1.2 CherryPy, vous ne pouvez pas fcgi « en mode dynamique » (Lorsqu'Apache invoque le processus). plus . Le mode dynamique est fondamentalement essentiel si vous êtes sur un hébergement mutualisé.

Je l'ai vérifié le tronc (3.2.0rc1), et après avoir sauté à travers quelques cerceaux, eu à travailler. Je suivis l'étape 5, le procédé C dans l'article bluehost. Il y avait là les choses dans le principal de mon cherryd.fcgi:

if __name__ == '__main__':
    cherrypy.config.update({
        'server.socket_port': None,
        'server.socket_host': None,
        'server.socket_file': None
    })
    start( daemonize=False, fastcgi=True, imports=["hello"])

En outre, dans cherrypy / processus / servers.py, je devais changer la ligne suivante:

# from this
# if not hasattr(socket.socket, 'fromfd'):

# to this
if not hasattr(socket, 'fromfd'):

Ainsi, il est possible de le faire fonctionner, mais il se sent genre de aki. Vous devez attendre la version finale de la version 3.2.0, ou faire ce que je faisais et vérifier Web.py . J'ai pu le faire fonctionner avec mon très facilement hébergement mutualisé (docs expliquent bien fastcgi / htaccess).

Autres conseils

Apache + Bluehost + FastCGI + cherrypy + wsgi est malheureusement beaucoup de morceaux. Je voudrais avoir un an pour écrire le guide définitif pour vous, mais hélas. Vous pourriez avoir un aperçu de la plutôt long fil de la liste de diffusion qui a abouti à ces liens vous avez publié.

Une idée: assurez-vous que votre fichier .fcgi a une référence à l'exécutable python correct dans la première ligne:

  

#! / Usr / bin / python

Je devais Django courir avec fcgi sur Bluehost et apache en utilisant l'environnement python mal a été mon problème (travaillé à partir de la coque, mais pas à partir du Web / apache).

Autre que cela, si vous pouvez imprimer le journal des erreurs de votre code, pouvez-vous confirmer que le code est exécuté correctement, sans aucune exception, lorsque vous accédez à la page Web? (Pas lors de l'exécution de la coquille).

Dans votre fichier journal de serveur Web, il doit montrer réellement ce que la sortie a été que confondait. Etes-vous sûr que vous êtes à la recherche dans le journal des erreurs ainsi que le journal d'accès?

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