我试图用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
我不确定自己做错了什么,我只是按照一个简单的教程。
感谢您的帮助:)
答案 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。