2010-10-20 6 views
4

Ce que j'ai trouvé que, en théorie, devrait fonctionner à partir git hub.com passagers-pylones-WSGI exemplepassenger_wsgi.py sur dreamhost pour obtenir Pylônes travailler

import os, sys                                   
sys.path.append('/home/user/test.sample.com/Helloworld')                  
os.environ['PYTHON_EGG_CACHE'] = '/home/user/tmp' 

from paste.deploy import loadapp                               

def application(environ, start_response):                            
    environ['SCRIPT_NAME'] = environ['PATH_INFO']                          
    application = loadapp('config:/home/user/test.sample.com/production.ini')          
    return application(environ, start_response) 

essayée dreamhost et je reçois:

Une erreur est survenue l'importation de votre passenger_wsgi.py

J'ai aussi essayé l'environnement virtuel, mais il ne semble pas fonctionner non plus.

gardez à l'esprit qu'après avoir suivi les instructions, j'ai python 2.6 mais pas d'activation dans le répertoire virtuel.

Des idées?

J'ai aussi essayé d'ajouter:

from fcgi import WSGIServer 

et après l'application def:

server = WSGIServer(application) 
server.run() 

Mais toujours obtenir la même erreur. Je souhaite qu'il était un peu plus descriptif que je puisse déboguer le passenger_wsgi

Répondre

4

enfin trouvé ma réponse:

import os, sys          
INTERP = "/home/user/local/bin/python" 
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)                         
sys.path.append('/home/user/test.sample.com/Helloworld')                  
os.environ['PYTHON_EGG_CACHE'] = '/home/user/tmp' 

from paste.deploy import loadapp                               

def application(environ, start_response):                            
    environ['SCRIPT_NAME'] = environ['PATH_INFO']                          
    application = loadapp('config:/home/denat/test.sample.com/production.ini')          
    return application(environ, start_response) 

La différence ici est que l'environnement virtuel a été installé avec pylones mais ne l'utilisait pas. Du wiki sur dreamhost je besoin d'ajouter les lignes suivantes:

INTERP = "/home/user/local/bin/python" 
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)    

J'ai maintenant une application de pylones de travail! Yay!

Je sais que d'autres ont été à la recherche de cela, donc j'espère que cela les aide.

+0

Avez-vous déjà eu des problèmes pour obtenir la "fin prématurée des en-têtes de script" pour votre projet Pylons sur Dreamhost? Ma page principale/par défaut de Pylons apparaît ... mais quand j'essaye d'aller à la page d'action d'un contrôleur (www.site.com/controller/action) j'obtiens juste une erreur interne de 500 serveurs ... l'application de Pylons elle-même fonctionne quand couru en utilisant le serveur "localhost" ... mais quand je vérifie l'application Pylons via Passenger, je reçois cette erreur 500 ... heh heh – summea

+1

dans l'erreur 500 vous devriez être en mesure de voir le fichier journal sur dreamhost dans les journaux/www .site.com/Cela devrait vous aider à le déboguer. Sans le code je ne peux pas dire où est le problème. J'espère que ça aide. – Dean

+0

Merci pour le commentaire; après un moment, je pense que j'ai fini par faire un peu de journalisation après avoir lu certaines des pages wiki de DreamHost relatives à WSGI :) Merci encore! – summea

Questions connexes