使用apache mod_wsgi测试错误---windows环境

使用apache mod_wsgi测试错误---windows环境,apache,flask,mod-wsgi,Apache,Flask,Mod Wsgi,我见过许多与我的问题类似的解决方案,但没有一个适合我。请帮我解决它。 首先,我想测试我的apache的mod_wsgi httd.conf: LoadFile "e:/zt_6.27/python/python35.dll" LoadModule wsgi_module "e:/zt_6.27/python/lib/site- packages/mod_wsgi/server/mod_wsgi.cp35-win_amd64.pyd" WSGIPythonHome "e:/zt_6.27/pyt

我见过许多与我的问题类似的解决方案,但没有一个适合我。请帮我解决它。 首先,我想测试我的apache的mod_wsgi

httd.conf:

LoadFile "e:/zt_6.27/python/python35.dll"
LoadModule wsgi_module "e:/zt_6.27/python/lib/site- 
packages/mod_wsgi/server/mod_wsgi.cp35-win_amd64.pyd"
WSGIPythonHome "e:/zt_6.27/python"

<VirtualHost *:80>       
    WSGIScriptAlias /myapp E:\zt_6.27\Apache24\htdocs\myapp.wsgi
    <Directory 'E:\zt_6.27\Apache24\htdocs'>
        Require all granted
        Require host ip
        Allow from all
    </Directory>
</VirtualHost>
我重新启动apache服务,调用“”

它返回500个内部服务器错误

我打开apache的error.log

它显示:

[Fri Aug 10 10:33:35.803119 2018] [wsgi:error] [pid 9252:tid 1408] [client 
::1:57261] mod_wsgi (pid=9252): Exception occurred processing WSGI script 
'E:/zt_6.27/Apache24/htdocs/myapp.wsgi'.
[Fri Aug 10 10:33:35.803119 2018] [wsgi:error] [pid 9252:tid 1408] [client 
::1:57261] TypeError: sequence of byte string values expected, value of type 
str found\r
我仔细检查了代码,没有问题

我做错了什么

除此之外,我昨天成功地运行了这段代码,今天它出错了


请帮帮我

如果使用Python 3,则必须使用:

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

output = b'Hello wsgi!'
返回的列表中必须包含字节字符串,而不是unicode字符串

要返回unicode字符串,需要将它们转换为字节字符串。我在这里作弊,只是将其标记为字节字符串,但您应该将其编码为UTF-8的字节字符串


我建议使用像Flask这样的微框架,因为它可以为您处理这些细节。

但当我运行Flask时,出现了另一个问题。它返回错误“[Fri Aug 10 12:19:19.108314 2018][wsgi:error][pid 8688:tid 1408][client::1:65087]ImportError:没有名为“Flask”的模块\r”我如何纠正这个错误?如果上面的答案纠正了您原来的问题,请接受它,并为您的下一个问题创建一个新问题。新问题的明显答案是,您是否安装了烧瓶。
output = b'Hello wsgi!'