爱她吗 发表于 2018-8-6 11:42:54

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下载源码包,解压后进入目录:
  # ./configure --with-apxs=/usr/local/apache/bin/apxs --with-python=/usr/bin/python
  如果出现了如下错误:
  configure: error: Can not link to python
  解决办法:
  # yum install python-devel
  # make
  如果在编译的过程中出现了如下错误:
  connobject.c:142: error: request for member ?.ext?.in something not a structure or union
  apxs:Error: Command failed with rc=65536
  make: *** Error 1
  make: Leaving directory `/usr/local/src/mod_python-3.3.1/src'
  make: *** Error 2
  需要修改/mod_python-3.3.1/src/connobject.c这个文件,将其中的“!(b == APR_BRIGADE_SENTINEL(b) ”
  修改为 “!(b == APR_BRIGADE_SENTINEL(bb)”
  # 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来测试)
页: [1]
查看完整版本: apache+mod_python