使用 mod_wsgi 将烧瓶服务器移至生产环境

Move a flask server to production with mod_wsgi

我关注了这个tutorial。这是我的服务器:

from flask import Flask
app = Flask(__name__)

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

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

运行时

python server.py
curl 127.0.0.1:5000

我得到了预期的结果。

现在我加一个test.wsgi:

import sys
sys.path.insert(0, '/var/www/test')
from server import app as application

并在 /etc/apache2/sites-enabled/test.config:

<VirtualHost *:5000>
ServerName example.com

WSGIDaemonProcess test user=user1 group=user1 threads=5
WSGIScriptAlias / /var/www/test/test.wsgi

<Directory /var/www/test>
    WSGIProcessGroup test
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>
</VirtualHost>

正在通话中

sudo service apache2 restart
curl 127.0.0.1:5000

将return出错。我做错了什么?

正如 Daniel Roseman 指出的那样,我需要

  1. 删除 ServerName 指令
  2. Listen 5000 添加到我的 /etc/apache2/apache.conf 以使服务器侦听端口 5000