windows上安装apache python mod_python
综述: windows上安装apache python mod_python的例子、教程甚至图解都不少;但作为新手还是会出错,而且一时无法快速排解。 在此笔者将根据自己的实践经验,给出几个需要注意的地方,以总结自我、方便大家!
PS:如果您关注的是linux上的mod_python安装,那么尽管去做好了,相信你不会遇到太多的麻烦!
1 确认安装版本: 目前推荐的都是 apache2.2 + python2.5 + mod+python3.3 ; 注意,这里说的都是大版本号,即一般是版本号的第一位和第二位 。 之所以选择这样的版本组合,主要考虑到mod_python的版本,因为我们一般下载后都是这样的:
Python代码
1.<STRONG><SPAN >mod_python-3.3.1.win32-py2.5-Apache2.2.exe </SPAN>
2.
3.</STRONG>
如果您真的是菜鸟,而且实在担心出错,那么建议你把目前windows上的apache服务停止甚至卸载;然后安装所需要的版本;至于python,大可不必卸载,只要安装另一个版本,然后将系统环境变量PATH修改为使用你需要的python版本即可!
2 安装顺序: 这个实在没有必要,列出来的目的只是提醒;重点是安装过程:
(1 安装完apache之后,启动,并访问http://localhost 或者 http://127.0.0.1 ,看到成功画面即可;
(2 接着安装python,完成后设置好系统环境变量PATH,打开一个cmd窗口,成功运行python即可;
(3 安装mod_python,成功安装后,需要做两件事:
一 重新进入python>>>,import mod_python 看是否成功;或者 输入help(),然后输入modules,在出现的列表中检查是否有mod_python;
二 在安装mod_python结束后,确认得到的mod_python.so在apache的modules子目录下,如果不在请手动拷贝。
3 加载mod_python,配置测试应用 打开apache的conf/httpd.conf :
(1 在多行loadModule 记录后,增加下列语句,以加载mod_python
Python代码
1.<STRONG># add by GentleYang for mod_python
2.LoadModule python_module modules/mod_python.so</STRONG>
此时请重启apache,如果顺利启动并且仍然可以成功访问,则load mod_python成功;如果要查看load记录,可浏览apache的日志文件!
(2 在apache的htdocs子目录下新建testmp目录,在其中新建hello.py,内容如下:
Python代码
1.from mod_python import apache
2.
3.def hello_handler(req):
4. req.write("This is a 'Hello World' from mod_python !")
5. return apache.OK
之后找到httpd.conf 靠后的<directory> 标签,在其中增加下列测试应用的配置:
Python代码
1.# Add by Gentle Yang for testmp with mod_python
2.<Directory "D:/xxx/server/Apache Software Foundation/htdocs/testmp">
3.AddHandler mod_python .py
4.PythonHandler hello
5.PythonDebug On
6.</Directory>
至此,测试应用配置完成!!!
接下来,尽管重启apache,然后访问http://localhost/testmp/hello.py;
如果出错,请查看日志;或者使用 start从cmd启动,控制台会打印出具体的错误信息!
有可能出现的错误包括:
1 <directory> 标签中的内容前面有空格等,导致无法找到配置的handler ;
2 hello.py 脚本文件的编码有误,或者含有特殊字符比如全角空格等 如果无法排除错误,请先尝试将配置的<directory>标签移除,重启apache看是否成功,然后重新配置!
注意,每一次修改httpd.conf前都养成先备份后修改得好习惯;修改时最好使用记事本等工具! 希望你能如愿看到含有下列字样的页面
Python代码
1.This is a 'Hello World' from mod_python !
最新文章
- 2016福州大学软件工程第三次个人作业-K米软件产品评测
- 多国语言文档识别 ABBYY FineReader Corporate v12.0.101.388.7z 绿色破解版
- flex弹性布局
- Oracle的排序和限制条件(order by 和where)
- A+B Again(在某个数中找大于m的最小约数)
- Spring计划会议内容
- 【转】编写更好的CSS代码
- python中的类型转换
- Maven 仓库
- c++ 联合体
- JS常用扩展
- Signing key has not been configured
- CentOs6.5中安装和配置vsftp简明
- MFC对话框中解决回车键、ESC键退出的方法
- centos7 ops
- Maven maven-compiler-plugin版本
- spring整合mybatis错误:HTTP Status 404 - xxx-xxx....
- This application failed to start because it could not find or load the Qt platform plugin ";windows"; 的问题原因以及解决方案
- java 学习必备的软件,持续更新中
- mysql并行执行--缩短主从同步时延
热门文章
- Java基础之处理事件——添加工具栏(Sketcher 7 with File toolbar buttons)
- Hadoop2.2.0 第一步完成MapReduce wordcount计算文本数量
- 在xocde运行profile 遇到";Existing default base temp directory &#39;/Library/Caches/com.apple.dt.instruments&#39; has insufficient privileges for user id 505. Please have the owner delete this directory";
- JAVA-面向对象-继承
- Java SE series:1. environment configure and Hello world! [We use compiler and packager to create an application!]
- Java基础(34):Java中基本数据类型的包装类(主要为了不同数据类型之间更方便的进行转换)(Wrapper类)
- linux第7天 I/O的五种模型, select
- 使用PHP发送邮件
- 如何把Eclipse工程import Exprot到Android Studio
- Fresco源码解析 - DataSource怎样存储数据