前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >apache利用mod_python整合

apache利用mod_python整合

作者头像
py3study
发布2020-01-09 17:06:53
6970
发布2020-01-09 17:06:53
举报
文章被收录于专栏:python3

安装所需要的源码包: •  Apache 2.2.22     (http://labs.mop.com/apache-mirror//httpd/httpd-2.2.22.tar.gz) •  Python 2.7.3 (http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz) •  Mod_python 3.3.1 (http://archive.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz) •  Django 1.4        (https://www.djangoproject.com/download/1.4.1/tarball/) 安装步骤 1.  Apache安装 #tar -zxvf httpd-2.2.22.tar.gz # httpd-2.2.22 # ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite #make && make install 2.  Python安装 # tar -zxvf Python-2.7.3.tgz #cd Python-2.7.3 # ./configure #make && make install #mv /usr/bin/python /usr/bin/python.bak #ln -s /usr/local/bin/python2.7 /usr/bin/python #python -V         #版本显示2.7.3 3.  django安装 # tar -zxvf Django-1.4.1.tar.gz #cd Django-1.4.1 #python setup.py install            #执行没有报错,就说明安装成功 也可以检查是否成功 #python >> import django                #这样import导入django模块没有报错,就安装成功 4.  mod_python安装 # tar -zxvf mod_python-3.3.1.tgz # cd mod_python-3.3.1 #./configure \ --with-apxs=/usr/local/apache2/bin/apxs \ --with-python=/usr/local/bin/python2.7 #make             #执行make的时候会报错,如下:

connobject.c:142: error: request for member ‘next’ in something not a structure or union     apxs:Error: Command failed with rc=65536     make[1]: *** [mod_python.so] Error 1     make[1]: Leaving directory `/root/django_python/mod_python-3.3.1/src'     make: *** [do_dso] Error 2

解决办法: 编辑 /$home/mod_python-3.3.1/src/connobject.c 的 142 行: !(b == APR_BRIGADE_SENTINEL(b) 改成: !(b == APR_BRIGADE_SENTINEL(bb) 即:改成两个b #make clean         #make && make install 5.  Apache    conf配置 1>.配置下httpd.conf,在这个文件里添加 LoadModule python_module modules/mod_python.so 另外我是开启了vhosts里面配置的,只需要将这行前面的#去掉 Include conf/extra/httpd-vhosts.conf 接着就是配置httpd-vhosts.conf文件,如下:

<VirtualHost *:80>            ServerName www.test.com            DocumentRoot "/data0/django/mysite"            <Location "/">                    SetHandler python-program                    PythonHandler django.core.handlers.modpython                    SetEnv DJANGO_SETTINGS_MODULE mysite.settings                    PythonAutoReload Off                    PythonDebug Off                    PythonPath "['/data0/django/mysite'] + sys.path"                    PythonInterpreter mysite            </Location>            <Directory "/data0/django/mysite">                    Order allow,deny                    Allow from all            </Directory>     </VirtualHost>

重启apache,测试下。 大致就是这样的,你可以访问下面网址,有相关的资料: http://blog.163.com/zhulp0372@yeah/blog/static/115894479201182134911490/ http://www.cnblogs.com/oubo/archive/2012/04/06/2434961.html http://djangobook.py3k.cn/2.0/chapter12/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档