部署瓶應用在子文件夾我在這裏以下說明:http://flask.pocoo.org/snippets/65/上WebFaction
但有些東西不是寫得很清楚。
所以我的結構是這樣的:
/<username>/webapps/flask/
----__init__.py
/<username>/webapps/flask/htdocs/
----index.py
----config.py
----/app/ (this is my flask application where i have views.py).
----/tmp/
我__init__.py:
class WebFactionMiddleware(object):
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
environ['SCRIPT_NAME'] = '/app'
return self.app(environ, start_response)
app.wsgi_app = WebFactionMiddleware(app.wsgi_app)
我index.py:
從瓶進口的應用程序作爲應用
我的httpd.conf:
WSGIPythonPath /home/<username>/webapps/flask/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 /app /home/<username>/webapps/flask/htdocs/index.py
<Directory /home/<username>/webapps/flask/htdocs>
AddHandler wsgi-script .py
RewriteEngine on
RewriteBase /app
WSGIScriptReloading On
</Directory>
我從控制面板設置爲 「WSGI 3.4/Python2.7」,但我有易於使用的install2在SSH SQLAlchemy中,燒瓶登錄等安裝。 6,因爲easy-install2.7不存在。
服務器錯誤日誌說:
from flask import app as application
[Sun Nov 04 23:29:12 2012] [error] [client 127.0.0.1] ImportError: No module named flask
(我沒有重新啓動的Apache2)
是的,我與你的分析相吻合,但麻煩的是。我安裝了wsgi3.4/Python2.7,但它沒有出現在我的FTP庫中。這就是爲什麼easy_install2.7不起作用,不知何故應該有沒有Python2.7。 – Dexter
你的默認Python是什麼?當你在服務器上運行python時,它打印出哪個版本?也許你的默認值是2.7,這就是爲什麼沒有特定版本的easy_install? –
確定在另一個論壇上,我想了一下。顯然,我是爲python2.7創建一個文件夾,然後使用easy_install-2.7,它可以工作。如果你不創建那個空文件夾,它不起作用。有多混淆...... – Dexter