Flask WSGI应用程序在导入n时挂起

2024-06-07 07:00:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我按照here的说明创建了一个onefile flask应用程序,在ubuntu上用mod wsgi部署到apache2。当你使用原始的flask应用程序时,一切都很好。但是,当添加import nltk到flask应用程序apache hangs(no 500)时。在

我使用python2.7和nltk2.0.4

Others与其他包似乎也有类似的问题。设置

WSGIApplicationGroup %{GLOBAL}

在虚拟主机配置中似乎有帮助。但是,我还是有同样的行为。有人遇到过同样的问题吗?谢谢你的帮助!在

以下是虚拟主机配置文件:

^{pr2}$

这是修改后的烧瓶代码

#!/usr/bin/python
from flask import Flask

import nltk
app = Flask(__name__)
@app.route('/')
def home():
    return """<html>
    <h2>Hello from Test Application 1</h2>
    </html>"""

@app.route('/<foo>')
def foo(foo):
    return """<html>
    <h2>Test Application 1</2>
    <h3>/%s</h3>
    </html>""" % foo

if __name__ == '__main__':
    "Are we in the __main__ scope? Start test server."
    app.run(host='0.0.0.0',port=5000,debug=True)

Tags: namefromimportapp应用程序flaskreturnfoo
1条回答
网友
1楼 · 发布于 2024-06-07 07:00:48

如果您有:

<Directory /home/bitnami/public_html/http/flasktest1>
        WSGIProcessGroup flaskapp
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
</Directory>

它应该是:

^{pr2}$

因为您既没有在守护程序模式下运行应用程序,也没有在主解释器中运行,因为指令处于错误的上下文中。在

然后那个目录指令和上面同一个目录的指令冲突,所以合并它们。在

如果使用mod_wsgi 3.0或更高版本,则可以删除第二个目录块并使用:

WSGIDaemonProcess flaskapp threads=5
WSGIScriptAlias /flasktest1 /home/bitnami/public_html/wsgi/flasktest1.wsgi process-group=flaskapp application-group=%{GLOBAL}

请注意,processes=1已被删除,因为这是默认值,设置它意味着其他您可能不想要的东西。您也不需要设置user/group,因为它将自动作为Apache用户运行。在

相关问题 更多 >