我正在关注http://www.enigmeta.com/2012/08/16/starting-flask/上的教程,使用mod_wsgi开发和部署一个简单的烧瓶应用程序到Apache.我想我已经把它缩小到我的Apache配置中的一个缺陷.如果我从命令行运行helloflask.py,它工作正常.我可以通过wget从localhost:5000的另一个shell访问它,我得到了正确的响应.我还有其他虚拟主机(非wsgi)启动并运行,所以我知道Apache正在运行并响应端口80上的其他请求.
我有以下结构:
/sites/helloflask.mydomain.com
/helloflask
application.wsgi
helloflask.py
(rest of env from virtualenv)
/log
access.log
error.log
Run Code Online (Sandbox Code Playgroud)
helloflask.py:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)
application.wsgi:
import os, sys, logging
logging.basicConfig(stream=sys.stderr)
PROJECT_DIR = '/sites/helloflask.mydomain.com/helloflask'
activate_this = os.path.join(PROJECT_DIR, 'bin', 'activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
sys.path.append(PROJECT_DIR)
from helloflask import app as application
Run Code Online (Sandbox Code Playgroud)
Apache配置:/etc/apache2/sites-available/helloflask.mydomain.com
<VirtualHost *:80>
ServerName helloflask.mydomain.com
WSGIDaemonProcess helloflask user=myuser group=myuser threads=5
WSGIScriptAlias / /sites/helloflask.mydomain.com/helloflask/application.wsgi
<Directory /sites/helloflask.mydomain.com/helloflask>
WSGIProcessGroup helloflask
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow …Run Code Online (Sandbox Code Playgroud)