在Ubuntu上搭建Python运行环境,mod_python是不可少的(据说mod_swgi也是可以的,没有亲测)。使用命令安装mod_python。
安装:
apt-get install libapache2-mod-python
“Apache分阶段的处理请求(比方说:读取请求,解析header, 检查存取路径,等等)。这些阶段能被称为"处理器"(handler)的函数实现。传统上, "处理器"是由C语言编写,并编译成Apache的模块。Mod_python提供了一个通过Python写的Apache处理器的来扩展Apache功能的方法。关于Apache请求处理过程的详尽描述,请参阅 Apache API Notes, 也可以参阅 Mod_python - Integrating Python with Apache。”——摘自百度百科
设置Mod_Python:
cd /etc/apache2/mods-enabled/
sudo ln -s ../mods-available/mod_python.load mod_python.load
“ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less”——引用
修改apache2配置文件
在网上查阅了很久的资料,都说让在httpd.conf中修改配置,但是我在Ubuntu下的apache2中未找到httpd.conf配置文件,当然网上也有说,直接改apache2.conf就行。对于新手,对于修改配置文件是一件很恐怖的的事情。
最终决定修改配置文件“apache2.conf”
在 <Directory /var/www/> 节点加上了如下配置:
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
重启apache2服务
/etc/init.d/apache2 restart
测试:
gedit /var/www/test.py
内容:
def index(req):
return "Test successful";