专栏首页python3apache+mod_python

apache+mod_python

一.安装apache(httpd-2.2.25.tar.gz )

到 http://httpd.apache.org 下载最新的apache源码,解压后进入目录:

我想把apache安装到/usr/lcoal/apache下,所以执行如下命令

执行:

./configure --prefix=/usr/lcoal/apache --enable-track-vars --enable-cgi --enable-modules=all --enable-mods-shared=all --enable-file-cache --enable-disk-cache --enable-cache --enable-mem-cache --enable-dumpio --enable-logio --enable-mime-magic --enable-headers --enable-usertrack --enable-version --enable-ssl --enable-http --enable-rewrite --enable-proxy --enable-proxy-connect --enable-proxy-http --enable-proxy-ftp --enable-proxy-ajp --enable-proxy-balancer --enable-so

执行:

make && make install

这样apache就装好了

二.安装python(python2.6)

三.安装mod_python(mod_python3.3.1)

mod_python (http://www.djangoproject.com/r/mod_python/)是一个在Apache中嵌入Python的Apache插件,它在服务器启动时将Python代码加载到内存中。

到www.modpython.org下载源码包,解压后进入目录:

[root@htuidc mod_python-3.3.1]# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-python=/usr/bin/python

如果出现了如下错误:

configure: error: Can not link to python

解决办法:

[root@htuidc bin]# yum install python-devel

[root@htuidc mod_python-3.3.1]# make

如果在编译的过程中出现了如下错误:

connobject.c:142: error: request for member ?.ext?.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 `/usr/local/src/mod_python-3.3.1/src'

make: *** [do_dso] Error 2

需要修改/mod_python-3.3.1/src/connobject.c这个文件,将其中的“!(b == APR_BRIGADE_SENTINEL(b) ”

修改为 “!(b == APR_BRIGADE_SENTINEL(bb)”

[root@htuidc mod_python-3.3.1]# make install

然后检查apache的modules目录是否存在mod_python.so库,如果不存在,拷贝/usr/local/src/mod_python-3.3.1/src/mod_python.so到apache的modules目录。

并在httpd.conf中加入:

LoadModule python_module modules/mod_python.so

四、新建python网站

1)在httpd.conf中加入

<Directory "/var/www/pyweb/py">

AllowOverride FileInfo

AddHandler mod_python .py

PythonHandler index

PythonDebug On

Order allow,deny

Allow from all

</Directory>

同时在

<IfModule alias_module>

</IfModule>

加入

ScriptAlias /py/ "/home/dantezhu/apache/py/"

然后重启apache

2)在apache目录下建立一个py目录,在里面新建一个文件index.py,内容如下:

from mod_python import apache

def handler(req):

req.write("Hello World!")

return apache.OK

(注意:PythonHandler index ,这里的名字index决定必须用index.py来测试)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python及其开发工具的安装

    python 支持在多平台上安装与运行,我们一般从python的官方网站下载其安装包,比如Windows下是exe文件,Linux下则是二进制文件。这里我们安装...

    py3study
  • Python 转 EXE(知道真相的我眼

    添加系统变量后,在cmd命令框中输入 python, 回车, 会出现类似这样的版本提示,并进入python环境。

    py3study
  • python3安装解决ssl问题

    使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: 问题出现原因:

    py3study
  • 【Python环境】python的数据科学资源

    python和R是数据科学家手中两种最常用的工具,R已经介绍的太多了,后续我们来玩玩python吧。从出身来看,R是统计学家写的,python是计算机科学家写的...

    陆勤_数据人网
  • Python 转 EXE(知道真相的我眼

    添加系统变量后,在cmd命令框中输入 python, 回车, 会出现类似这样的版本提示,并进入python环境。

    py3study
  • 小朋友学Python(2):编写“Hello World!”

    本节学习python的第一个程序:输出“Hello World!”。咱们用两种方法实现 方法(一) 进入python环境,直接使用print方法 ? 方法(二)...

    海天一树
  • 使用python对文件内容按照字符长度逐行排序

    章鱼喵
  • (1)Python基础

    hankleo
  • 3ds max maxscript py

    python.Execute<python command/expression>

    py3study
  • Centos 6.4 安装python

    Centos自带的python版本太低,所以自己编译安装下python 2.7.10

    py3study

扫码关注云+社区

领取腾讯云代金券