在网上摆弄了好久,终于搞清楚了这个技术问题,和大家分享一下。
利用apache配置纯Python运行环境还是要用 mod_python模块,前提你一定要安装好mod_python。
具体怎么装,网上有很多。注意配套的版本。
apache的httpd.conf文件中打开 mod_python.so功能
LoadModule python_module modules/mod_python.so
httpd.conf文件中加
===================================================================
python文件的运行
===================================================================
Alias /py/ "E:/newtest/pyweb/"
<Directory "E:/newtest/pyweb">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>
test.py文字内容
def index(req):
req.content_type = 'text/plain'
req.write("Hello World!")
return apache.OK
#带一个参数
def learning(req,name):
req.content_type = 'text/plain'
if name=="":
me="Wangxiaoxiao"
else:
me=name
req.write("i like english,my name is %s "%me)
return apache.OK
运行
http://192.168.1.91/py/test.py
得到的结果:Hello World!
这个例子证明了任何py文件都可以运行先从默认方法index运行起
如果你要运行learning方法
URL方法是:
http://192.168.1.91/py/test.py/learning?name=zhangsan
运行结果:
I love english,my name is zhangsan
如果你URL是
http://192.168.1.91/py/test.py/learning
会报错。name参数没传值
======================================================================
python模板文件psp的运行
======================================================================
Alias /py/ "E:/newtest/pyweb/"
<Directory "E:/newtest/pyweb">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
AddHandler mod_python .psp
PythonHandler mod_python.psp
PythonDebug On
</Directory>
test.psp文字内容
<html>
<body>
<h1><% req.write("Hello!") %></h1>
</body>
</html>
运行
http://192.168.1.91/py/test.psp
得到的结果:Hello!
=================================================================
即执行py文件,又执行psp模板文件 第一种方法
=================================================================
<IfModule mod_python.c>
AddHandler mod_python .py .psp
PythonHandler mod_python.publisher | .py
PythonHandler mod_python.psp | .psp
</IfModule>
Alias /py/ "E:/newtest/pyweb/"
<Directory "E:/newtest/pyweb">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
PythonDebug On
</Directory>
=================================================================
即执行py文件,又执行psp模板文件 第二种方法
=================================================================
Alias /py/ "E:/newtest/pyweb/"
<Directory "E:/newtest/pyweb">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
AddHandler mod_python .py .psp
PythonHandler mod_python.publisher | .py
PythonHandler mod_python.psp | .psp
PythonDebug On
</Directory>