在WebFaction的子文件夹中部署烧瓶应用程序



我在这里遵循说明:http://flask.pocoo.org/snippets/65/

但是有些事情不是很清楚。

所以我的结构就是这样:

/<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",但我不得不安装在ssh sqlalchemy,blask-login等。使用Easy-install2.6,因为不存在Easy-Install2.7,因为不存在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)

错误消息清楚地表明您没有安装烧瓶。如果您在WebFaction Control面板中创建了应用程序,则与Python 2.7一样,您还需要安装所有libs并为Python 2.7安装烧瓶。您说的是使用Easy_instal2.6安装了所有内容,因此这意味着您为Python 2.6安装了所有内容。

我会说首先要安装所有python 2.7的libs和deps(也是烧瓶),然后重试。另外,我建议开始使用Virtualenv,因为它将有助于以后不会弄乱包装版本(有关WebFaction在WebFaction上如何与Virtualenv部署的一些简短信息烧瓶 - 韦伯特式)。

查看https://community.webfaction.com/questions/12718/installing-flask

确保相应地遵循链接中的步骤。对于第2步,有很多方法可以通过。但是我希望你这样做。

a。首先将其复制到文本编辑器中,然后更改appName =" urflaskname"PLS UNIX对案例敏感。

b。之后,将文件保存为AnyName.sh(unix脚本)

c。转移到服务器并运行

chmod a+x anyname.sh

d。然后现在在服务器中运行此操作以安装烧瓶,并为您准备Web

./anyname.sh

全部完成。

您还可以直接遵循这些步骤,但要确保所有公义尝试复制和编辑AppName

最新更新