分享
 
 
 

今天弄了2个小时--fei终于搞定了Mod_python与Apache的整合--写出过程与大家分享

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

fei最近一直在看Python的书,深深被这种语言的优秀简练和有趣而打动,很是着迷。当然想把它用于Web开发,前面limodou兄写了把 Python做为外部CGI的方法----不过有Apache的内部模块mod_python当然是用它了--优点多多(如果你知道Mod_perl和 FastCGI你就会明白。看看mod_python的官方数据:Performance

Some very quick tests showed a very apparent performance increase:

Platform: 300Mhz Pentium MMX (Sony Vaio PCG-505TR), FreeBSD

Program: A script that first imported the standard library

cgi module, then output a single word "Hello!".

Measuring tool: ab (included with apache), 1000 requests.

Standard CGI: 5 requests/s

Cgihandler: 40 requests/s

As a handler: 140 requests/s还有个mod-snake据说可以把Python嵌在HTML中,fei下载了不过还没试,因为从sourceforge上看好象停止开发了:(--网上并没有Apache与Mod_python整合的资料--所以fei自己动手并参考Mod_python的文档-总结出这篇文章-- 希望对大家有所帮助。

我使用的版本是Apache1.3.26,Python2.2.1,Mod_python2.7.8,平台redhat7.2(下载都可到 ftp://202.96.64.158/pub)在安装过程中还真遇到了不少麻烦-并不象以往Aache模块那么好装,虽然最后解决了--但还真是值得一写的。

1。先装好Apache1.3.26----正常装--可支持DSO,加上--enable-shared=max就行。--这步没什么好说的 --不过Apache2.0还不支持,1.3也最好是1.3.20以上。如果你想把mod_python做为静态模块也是可以的--见后面。

2。装Python,这里要注意--最好不要使用线程,因为Apache1.3还不怎么支持线程。如果用了的话后来起动Apache时会说 Cannot load /root/apache1326/libexec/mod_python.so into server: /root/apache1326/libexec/mod_python.so: undefined symbol: pthread_sigmask--我是用Python源码装的--configure时加上了--without-threads选项,然后make, make install,最后最好设一下PATH和PYTHONPATH环境变量-使得python能被找到-否则如果Mod_python找不到库的话会有很多错误。这里要切记。

3。装Mod_python,这里先configure--注意有三个重要选项。--with-apxs找到apxs以生成DSO模块,-- with-apache=这步就是用于生成静态模块了,在make后用make install_static生成,然后./configure --activate-module=src/modules/python/libpython.a-和PHP的安装方式差不多。不过我们一般还是用 DSO方式,--with-python这步如果你按我说的设了环境变量的话就不用加了。configure后就make,注意make后要make install_py_lib,否则起Apache时会说undefined symbol:openpty,这步我想了很久。然后make install.

4.配Apache,加上LoadModule python_module libexec/mod_python.so

AddModule mod_python.c,再在你要用CGI的目录上设

<Directory /some/directory/htdocs/test>

AddHandler python-program .py

PythonHandler mptest

PythonDebug On

</Directory>

重起Apache。

5。测试。最后在test目录中编写一个mptest.py,内容如下:

from mod_python import apache

def handler(req):

req.send_http_header()

req.write("Hello World!")

return apache.OK

注意一定要小心缩进--否则会产生异常!然后访问test/mptest.py如果看到Hello World!

那就恭喜你大功告成了!

如果在安装过程有未知问题,请与fei联系xf5@163.net,对于mod_python更详细的用法和说明可见http://www.modpython.org/live/mod_python-2.7.8/doc-html/

我目前每天在学Oracle8i和Java2-Oracle DBA和Sun CSA,SCEA是我的奋斗目标-为了DBA和SCEA坚定不疑努力着

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有