【发布时间】:2017-12-10 07:44:40
【问题描述】:
在工作服务器(Apache 2.2.3)上,我正在尝试使用 Flask 激活我的第一个 Hello World。我在任何典型的推荐位置都找不到错误日志。
我在/home/nrDee/public_html/rrfexpire做了一个virtualenv
这是我的 rrfexpire.wsgi 脚本:
activate_this =
'/home/nrDee/public_html/rrfexpire/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
from rrfexpire import app as application
这已添加到 Apache httpd.conf:
WSGIDaemonProcess rrfexipre user=apache group=apache threads=5
WSGIScriptAlias /blog /home/nrDee/public_html/rrfexpire/rrfexpire.wsgi
<Directory /home/nrDee/public_html/rrfexpire>
WSGIProcessGroup rrfexpire
WSGIApplicationGroup %{GLOBAL}
Order allow,deny
Allow from all
</Directory>
这是我的 Hello World 测试 (rrfexpire.py):
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Hello, World!"
print hello_world()
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8082, debug=True)
当我在http://departmentServer.company.com/rrfexpire/ 使用 Chrome 浏览器时,我希望能看到结果,但我什么也没得到。整个 nrDee 目录设置为 777 权限,以消除阻止此运行的权限。并且我尝试确认 Python 版本(2.7.13)和 mod_wsgi 与命令的兼容性
#ldd venv/lib/python2.7/site-packages/mod_wsgi/server/mod_wsgi-py27.so
该结果中的一行显示“libpython2.7.so.1.0 => /usr/local/bin/anaconda/lib/libpython2.7.so.1.0”,我将其解释为 mod_wsgi 已为 Python2 正确编译.7
我是新来的,并且一直在大量使用 Flask 和 mod_wsgi 文档并且感觉卡住了。
您能否就下一步检查的内容提供指导?
谢谢!
-nrDee
【问题讨论】:
-
您的应用程序安装在
/blog而不是/rrfexpire,因此需要更改您的URL 或WSGIScriptAlias。 -
谢谢!我将
WSGIScriptAlias更新为/rrfexpire,重新启动Apache,并收到500 Internal Server Error -
你敏锐的眼光让我发现了另一个错别字。我将
WSGIDaemonProcess更新为/rrfexpire,重新启动httpd服务,仍然出现500 Internal Server Error -
为什么要更新
WSGIDaemonProcess?这不需要匹配挂载点。它确实需要匹配用于WSGIProcessGroup的内容。如果您收到 500 个错误,原因将在 Apache 错误日志中,因此请确保您正在查看并添加错误的详细信息(如果不明显)。 -
抱歉@GrahamDumpleton 下面的格式很糟糕
标签: python flask server virtualenv mod-wsgi