mac os + Apache 2.4.33 + python 3.7.2 + django 2.1.5 + mod_wsgi 4.6.5(无法访问该站点)

时间:2019-01-31 15:13:27

标签: python django macos apache mod-wsgi

在python从2.x升级到3.7.2后,我在运行服务器时遇到问题(无法访问站点)我们的服务器配置:

  • Mac OS 10.13.6(High Sierra)
  • Apache 2.4.33自定义安装
  • Python 3.7.2(仅安装python3)
  • Django 2.1.5(通过pip安装在python 3 env中)
  • mod_wsgi 4.6.5(通过python 3 env内部的pip安装)

我在httpd.conf文件中添加了以下两行(mod_wsgi-express module-config),删除了python 2.7引用:


LoadModule wsgi_module "/../MASP_ENV3/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-darwin.so"
 
WSGIPythonHome "/../MASP_ENV3" 

也在httpd-vhosts.conf中:

WSGIDaemonProcess mysite.com processes=2 threads=15 display-name=%{GROUP} python-home=/Library/WebServer/Documents/MASP_ENV3 python-path=/Library/WebServer/Documents/mysite

WSGIProcessGroup mysite.com
WSGIScriptAlias / /Library/WebServer/Documents/mysite/wsgi.py

重启服务器后,当我们在浏览器中点击URL时,页面会继续加载一段时间(2-5分钟),然后显示“无法访问网站”

如果能指导我提出宝贵建议,那将是很棒的。谢谢!

2 个答案:

答案 0 :(得分:0)

apache错误日志中报告了什么?

是否可以将参数请求超时添加到WSGIDaemonProcess并将其设置为较低的值,例如30秒?进行此类更改后,您会在大约30秒内收到“未到达网站”消息还是仍然需要2-5分钟?

wsgi是否配置为在任何地方写入日志?您可以看到请求到达python应用程序了吗?

很抱歉将问题写为答案,但是我仍然没有必要的水平来添加评论。

答案 1 :(得分:0)

问题是未在python3系统安装目录中创建虚拟环境。我通过遵循此文档解决了该问题:
* https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html#location-of-the-virtual-environment

此外,我与mod_wsgi作者的详细对话在这里: https://github.com/GrahamDumpleton/mod_wsgi/issues/396