HTTPD + mod_wsgi + Flask始终显示“未找到”

时间:2019-03-05 03:56:31

标签: python apache flask mod-wsgi httpd.conf

我是不熟悉烧瓶的人,正在尝试使用HTTPD + mod_wsgi构建helloworld页面。

httpd mod_wsgi的配置

LoadModule wsgi_module "/apps/org/orgda_dev/anaconda3/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
WSGIPythonHome "/apps/org/orgda_dev/anaconda3"

WSGIScriptAlias / /apps/org/orgda_dev/webapp/orgdatools/helloworld.wsgi

<Directory /apps/org/orgda_dev/webapp/orgdatools>
  Order Allow,Deny
  Allow from all
  Require all granted
</Directory>

在标准mod_wsgi测试代码上进行测试配置-成功

当/apps/org/orgda_dev/webapp/orgdatools/helloworld.wsgi文件包含以下内容时,我可以看到python @ http://hostname:8000生成的输出 基本上,这可以确认mod_wsgi配置正确并在网站的根目录上运行。

import sys

def application(environ, start_response):
    status = '200 OK'
    output = ('Hello World!' + sys.version).encode('utf-8') #  + sys.version
    # print >> environ['wsgi.errors'], "application debug #1"
    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)
    # print >> environ['wsgi.errors'], "application debug #2"
    return [output]

与Flask应用一起发布

当我致电http://hostname:8000

时,总是出现以下错误

enter image description here

下面提到的Flask应用程序失败代码。

/apps/org/orgda_dev/webapp/orgdatools/helloworld.wsgi的内容

from helloworld import app as application

/apps/org/orgda_dev/webapp/orgdatools/helloworld.py的内容

from flask import Flask

app = Flask(__name__)

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

if __name__ == "__main__":
    app.run(host='0.0.0.0',debug=True)

一些观察,我有:

  • 无论我如何更改装饰器(以及相应的URL)都无济于事。
  • Apache HTTPD错误日志中没有错误
  • 在日志中,我可以看到python文件正在执行(/apps/org/orgda_dev/webapp/orgdatools/helloworld.py)
  • 从wsgi到apache HTTPD到python URL传输似乎不起作用
  • 调试模式不会产生任何输出

经过近8个小时的研究和尝试,我不知道该如何前进。

不胜感激。

0 个答案:

没有答案