千家信息网

怎样使用Apache和mod_wsgi 配置Django

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这期内容当中小编将会给大家带来有关怎样使用Apache和mod_wsgi 配置Django,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。如何在Apache和mod_
千家信息网最后更新 2026年11月01日怎样使用Apache和mod_wsgi 配置Django

这期内容当中小编将会给大家带来有关怎样使用Apache和mod_wsgi 配置Django,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

如何在Apache和mod_wsgi中使用Django

mod_wsgi也可以yum安装,但是其版本可能已经过时,在我的yum源中只有3.4,而当时最新版已经到了4.5.24(现在有更新的版本)。如果想使用最新版的mod_wsgi,建议编译源码安装。幸运的是mod_wsgi官方文档的安装教程很详细。

先下载源码,下载的位置为当前文件夹,下载完成后解压

$ wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.5.24.tar.gz$ tar xvfz mod_wsgi-4.5.24.tar.gz

然后配置时,用-with-python选项指定python可执行文件的位置,

$ ./configure -with-python=/usr/local/python3/bin/python

如果不指定程序会也自动检索python的位置,但由于我的服务器上同时有python2和3,并且python软链指向的是python2,所以默认mod_wsgi会找到python2,那么Apache在运行时打开的也会是python2。为了让mod_wsgi正确的找到python3,所以要用-with-python选项。即使不用这一项也没事,后面用Apache配置django项目时还可以通过WSGIPythonHome指令另外指定Python的路径。

另外还有一个-with-apxs选项用来指定Apache构建工具apxs的位置,如果安装出错,提示找不到apxs,那么就要确保安装了apxs,并用这个选项指定其位置。

下一步就是构建编译

$ sudo make$ sudo make install

如果源码编译安装的过程中出错了,产生的错误大部分都是依赖不全造成的,仔细查看错误信息中的提示,安装相关依赖即可。最好是在安装前就确保相关的依赖都有,可以用yum deplist mod_wsgi来查看所有的依赖。

mod_wsgi安装完成后,还需要在Apache中加载该模块,修改Apache的配置文件(你的配置文件位置可能跟我的不太一样)。

$ sudo vim /etc/httpd/conf/httpd.conf

然后在文件中加入下面一行,最后的选项是mod_wsgi.so的位置。

LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so

改完以后重启Apache使配置生效。

$ apachectl restart

成功的话在浏览器访问服务器id可以看到测试页。如果启动失败,查看错误日志,其位置在配置文件里能够找到。根据提示找出错误原因,mod_wsgi的官方文档中也列出了常见的bug。

$ sudo vim /var/log/httpd/error_log

例如,我在配置mod_wsgi的时候碰到了一个由python引起的错误,打开错误日志,里面的关键信息如下:

error while loading shared libraries: libpython3.6.4.so.1.0: \ cannot open shared object file: No such file or directory

出现找不到libpython3.6m.so.1.0文件(如果是不同版本的python则后缀代号不同)的错误,可能的原因有两种,一是有该文件但是不在Apache的工作目录下,二是没有这个文件。

用find / -name libpython3.6m.so.1.0命令找到该文件,并连接到mod_wsgi.so所在的库文件夹即可,一般会在/usr/lib或/usr/lib64中。例如我的文件路径分别为,/usr/lib64/httpd/modules/mod_wsgi.so和/usr/local/python3/lib/libpython3.6m.so.1.0,即把libpython3.6m.so.1.0链接到/usr/lib64中即可。

如果你是源码编译的python,而且找不到libpython3.6m.so.1.0文件,那么可能是在配置项时没有加--enable-shared ,则需要重新编译python。

$ ./configure --enable-shared

上述就是小编为大家分享的怎样使用Apache和mod_wsgi 配置Django了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

文件 配置 位置 错误 编译 源码 版本 提示 不同 信息 内容 原因 官方 就是 文档 日志 是在 最新版 服务器 路径 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 中国互联网科技工作委员会毛军 深圳恒合互联网络科技有限公司 互联网科技与金融科技 互联网金融 金融科技 世界互联网领先科技成果 南京欣网互联网科技 中国最先进互联网科技公司 互联网科技公司招聘 江苏南京365互联网科技 小米互联网科技园设置 昭通云南众福互联网科技有限公司 哈尔滨屹滨互联网科技有限公司 消费医药和互联网科技 中国互联网公司排名锤子科技 互联网企业科技类企业如何做账 互联网科技年终奖 中国互联网公司的科技投入 互联网科技大佬云集 伍佰万互联网科技是干嘛的 云信互联网科技有限公司 互联网科技有限公司经营范围 汇久创客互联网科技 易通互联网络科技有限公司 撒么互联网科技公司 中国互联网金融科技基金 湖南洣水互联网科技有限公司扣款 呼和浩特新华互联网科技学院 国大互联网教育科技有限公司工作 有人说阿里系是互联网科技企业
0