AutoTester

mod_wsgi在多个Python版本下配置apache

最后都变了- 提交于 2020-03-12 20:44:26
前言 也许你会遇到这样的问题:Linux默认安装了Python2.6,在当下一些框架总是不支持低版本的Python,不得不去安装较高版本的Python,如Python2.7。然而当高版本的安装后,apache依然找到的是Python2.6,此刻便是头疼时刻。不妨看看这篇文档。当然这里是需要你保证在输入python --version之后输出的版本好是高版本的。那么剩下的问题我们不妨就在这里探讨一番, 问题 安装Python2.7后当再去运行之前基于python2.6环境配置的项目在apache以及mod_wsgi下可以正常运行的项目,却报出如下异常信息: 版本依赖出错,看了下详细信息在运行apache的时候既加载了Python2.7的site-packages又加载了Python2.6的site-packages 按照逻辑来寻找原因: 之所以会加载python2.7的信息i,是因为我在httpd.conf中配置了python-path python2.6的信息则是系统默认Python版本 严重的错误是直接输出的Python版本为2.6的 解决问题 针对上面的问题进行一系列排查:首先不应该出现Python2.6的相关信息,因为在系统中已经处理过Python的版本,即使在终端python --version输出的也是2.7版本。apache是一个独立的模块

apache mod_wsgi 部署django项目后连接不上mysql

柔情痞子 提交于 2019-11-30 16:23:55
问题描述 做好的django项目,使用python manage.py runserver 可以正常work. 然而当将项目使用mod_wsgi部署到apache上之后却不能连接mysql.一直报错:“Internal Server Error”,查看日志信息,除了“Can't connect mysql”还是连不上mysql. 追踪问题 django测试 分别在debug模式以及debug off模式下运行项目,无任何异常,足以证明项目自身配置没任何错误。 Python代码测试 运行python manage.py shell,导入MySQLdb,使用驱动代码测试也无异常。说明驱动的版本什么的没有错误。 查看源码 在django/admin/db/backend/mysql/base.py中直接修改连接数据库的参数信息,并在MySQLdb中的_init.py中打印传进来的参数信息。 python manage.py runserver debug模式开与关打印出来的信息一致。 开启apache 访问主页打印出来的信息与上述信息无差异。 这么以来就可以得出结论:项目组件以及配置没什么错误。 寻找答案 经过问题的一系列追踪,查询网络无果。想起mod_wsgi这货,再根据这个去搜得出结论apache在安装的时候所配置的系统用户apache/apache没有权限访问默认的mysql