【问题标题】:Move a flask server to production with mod_wsgi使用 mod_wsgi 将烧瓶服务器移至生产环境
【发布时间】:2015-01-01 19:30:28
【问题描述】:

我关注了这个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

将返回错误。我做错了什么?

【问题讨论】:

  • 你确定 Apache 正在监听 5000 端口吗?而且您几乎肯定需要删除该 ServerName 指令。
  • 谢谢,解决了。我在下面发布了答案。 (我不允许将其标记为正确答案)

标签: python apache flask wsgi


【解决方案1】:

正如丹尼尔·罗斯曼指出的那样,我需要

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 2022-10-21
    • 2014-03-03
    • 2012-01-28
    • 2020-08-02
    相关资源
    最近更新 更多