flask app仅显示带有apache2的文件列表

时间:2016-01-23 17:43:43

标签: python apache flask

我试图用apache2服务器托管烧瓶应用程序。服务器工作,但我只看到一个文件列表,""索引"页。我的代码非常简单。这是我在/ var / www / flask_dev中的hello.py文件:

from flask import Flask
app = Flask(__name__)

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

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

我还在/etc/apache2/sites-available/flask_dev.conf中创建了一个apache配置文件:

ServerName example.com

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        WSGIDaemonProcess hello user=www-data group=www-data threads=5     python-path=/var/www/flask_dev
        WSGIScriptAlias / /var/www/flask_dev/start.wsgi
        <Directory /var/www/flask_dev>
                WSGIProcessGroup hello
                WSGIApplicationGroup %{GLOBAL}
                Options Indexes FollowSymLinks
                AllowOverride None
                Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

所需的wsgi文件也位于/var/www/flask_dev/start.wsgi中:

from hello import app as application

import sys
sys.stdout = sys.stderr

我不确定自己做错了什么,我只是按照一个简单的教程。

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

您可能没有为Apache安装from django.contrib.auth.admin import UserAdmin class PersonInline(admin.StackedInline): """ Details a person in line. """ model = Person can_delete = False verbose_name_plural = 'person' fields = ('username', 'email', 'first_name', 'last_name', 'age', 'city', 'state') class UserAdmin(UserAdmin): inlines = [ PersonInline ] # Re-register UserAdmin admin.site.unregister(User) admin.site.register(User, UserAdmin) 模块。

http://flask.pocoo.org/docs/0.10/deploying/mod_wsgi/

Apache需要导入mod_wsgi模块才能使用python。有关安装的更多说明,请访问。

https://code.google.com/p/modwsgi/wiki/QuickInstallationGuide

安装完成后,使用mod_wsgi

修改httpd.conf

如果您使用的是Windows,则必须为python版本和体系结构下载相应的LoadModule wsgi_module modules/mod_wsgi.so。如果文件具有任何特定于python的版本命名,则将文件重命名为mod_wsgi.so,并将conf设置为LoadModule。