为什么我的 .wsgi 文件给我内部服务器错误?

Why does my .wsgi file give me Internal Server Error?

Apache 2.4 - RHEL 8.3 (Ootpa) - Windows

我有问题 运行 服务器上的 WSGI 文件。获取内部服务器错误。 (我是新手)

我已经安装了“python3-mod_wsgi”(据说 mod_wsgi 不能与 windows 一起使用)

检查是否工作:

root@xxx# sudo httpd -M | grep wsgi
proxy_uwsgi_module (shared)
wsgi_module (shared)

这意味着有效(?)

我用 hello world(test_wsgi.py 脚本)示例进行了测试:

def application(environ, start_response): status = '200 OK' output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
                    ('Content-Length', str(len(output)))]
start_response(status, response_headers)

return [output]

哪个有效:

Image of hello world in browser

我的 conf 文件:(编辑掉 /path/)

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName my.server.name
        DocumentRoot /path/api

        WSGIScriptAlias /lisens/test_wsgi /path/api/lisens/test_wsgi.py

        WSGIScriptAlias /lisens/hello_world /path/api/lisens/hello_world.wsgi

        <Directory/path/lisens>
                AllowOverride All
                Require all granted
        </Directory>

        Alias /static /path/lisensAPI/static>
        <Directory /path/lisens/lisensAPI/static/>
                AllowOverride All
                Require all granted
        </Directory>

        LogLevel info

</VirtualHost>

但是当我尝试 hello_world.wsgi:

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!\n'
    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)
    return [output]

我得到内部服务器错误

我正在做这个测试,以便稍后应用于我的 Flask 应用程序。

有什么想法吗?如果需要更多信息来解决这个问题,请告诉我。

找到日志。显然字符串是错误的。前面加了b''

在此处找到答案: