一般的服务器都可以执行CGI脚本,以前的新兴脚本语言python,ruby,还不流行,那时还都是用perl或者c写 CGI脚本。
客户端通过https访问这些脚本,脚本在服务器端执行,把结果返回给客户端。
服务器一般需要perl执行环境,或者cgi脚本是编译好的二进制,直接由os运行。那么换成python脚本,就需要服务器又python解释环境:安装python。
安装完,如果是IIS服务器,就需要在IIS管理里面,添加python.exe的路径,使得python.exe 在网站root目录有可执行权限:许可。
在添加,网站可识别的文件,以前的有html,xhtml,我们添加.py
那么在apache下面也是可以的,思路就是在http.conf里面,修改里面的内容,怎么修改,有想法的可以百度,就不废话了。
由于python目前和php一样适合做动态网站开发,所以apache可以和mod_wsgi.so模块无缝连接,就行apache和php一样是好搭档,即使python本身都带了适合开发者用的数据库SQLite3 只需要 import导入 SQLite3即可使用,但是生产环境还是用apache这种比较好。
配置过程也是apache配置文件http.conf的修改:添加python对应模块 mod_wsgi.so ,前提当然是要安装python,最基本的啦,设置python脚本文件所在目录。
这样就可以访问本地的python文件。例如 localhost:8081/py/index.py 就会解释index.py的结果,网站也是这样的吧。如果http.conf追加设置了.py文件类型,这样输入会自动访问index.py 文件 : localhost:8081/py/
所以python在apache下设置CGI是没必要的了。我的赶脚哈。CGI脚本的话,至少需要脚本执行结果包含的http协议header部分 ,就是返回结果<html>标签之前有一个空行,告诉客户端返回数据包含head部分,虽然是空的,但是必须有。不然浏览器就会认为返回的结果没有head,数据格式不对 ,从而显示错误。