2012-04-14 3 views
1

Ich habe versucht, Flask stundenlang ohne Ergebnis auf meinem Webserver zu arbeiten.Kann eine einfache Flask-Anwendung nicht auf Webfaction bereitstellen

Ich folgte den Anweisungen auf http://flask.pocoo.org/snippets/65/

ich meine index.py Datei unter htdocs gespeichert haben.

import sys 
yourappname = "/home/<myusername>/webapps/myapp/htdocs" 
if not yourappname in sys.path: 
    sys.path.insert(0, yourappname) 

from yourappname import app as application 

Dann habe ich das zu meiner httpd.conf-Datei hinzugefügt:

WSGIPythonPath /home/yourusername/webapps/yourapp/htdocs/ 
#If you do not specify the following directive the app *will* work but you will 
#see index.py in the path of all URLs 
WSGIScriptAlias//home/yourusername/webapps/yourapp/htdocs/index.py 

<Directory /home/yourusername/webapps/yourapp/htdocs/> 
    AddHandler wsgi-script .py 
    RewriteEngine on 
    RewriteBase/
    WSGIScriptReloading On 
</Directory> 

dann habe ich myapp.py im selben Verzeichnis htdocs index.py neben:

from flask import Flask 
app = Flask(__name__) 

@app.route('/') 
def hello_world(): 
    return 'Hello World!' 

if __name__ == '__main__': 
    app.run() 

Ich habe meine Domain in webfaction auf mein Projekt verwiesen. Das Standard-index.py funktionierte vor dem Überschreiben mit dem neuen wie in den Anweisungen angegeben. Allerdings bekomme ich nur den Server 500. Ich entschuldige mich, aber ich bin ein komplettes noob, wenn es um Linux geht und Server verwaltet. Ich kann nicht einmal unter Benutzer auf mein Fehlerprotokoll zugreifen, da es besagt, dass ich keine Berechtigung habe.

Ich denke, dass es etwas mit meiner Installation von Kolben auf dem Linux-Server zu tun hat, installierte ich es durch einfache Installation sagt es installiert alle Abhängigkeiten und gab keine Fehler.

+1

Ausgabe Sie sollten wirklich Verwenden Sie den Daemon-Modus von mod_wsgi anstelle des eingebetteten Interpreters. Es gibt auch keinen Grund, irgendeinen Python-Code in das Dokumentenstammverzeichnis einzufügen. – ThiefMaster

+0

danke, ich werde den Daemon-Modus von mod_wsgi recherchieren. Ich werde auch meinen Python-Code aus dem Dokumentenstamm entfernen. –

Antwort

1

Ein paar Vorschläge:

  1. Sollten Sie überall haben nicht myapp Sie yourappname in Ihrem index.py haben?
  2. Auch ich davon aus bin, dass Sie die entsprechenden Substitutionen in `WSGIPythonPath gemacht haben/home/ihrbenutzername/webapps/yourapp/htdocs
  3. Haben Sie versucht, von den Apache-Server neu zu starten eine ~/webapps/<app_name>/apache2/bin/restart
Verwandte Themen