文章更新于:2020-03-05
注1:安装 python 参见: python 的安装使用和基本语法
注2:配置 web 环境参见: Windows&linux使用集成环境搭建 web 服务器
注3:linux 配置 CGI参见:linux 配置 python3 CGI
注4:Windows配置 CGI 参见:windows环境下利用python进行CGI配置
一、Web服务器的支持与配置
在进行CGI编程之前,请确保Web服务器支持CGI,它被配置为处理CGI程序。所有对由HTTP服务器执行的CGI程序保存在一个预先配置的目录。此目录被称为CGI目录,并按照惯例被命名为/var/www/cgi-bin目录。按照惯例,CGI文件具有扩展名为.cgi,但文件扩展名可以为Python语言脚本 .py。
//原文出自【易百教程】,非商业请保留原文链接:https://www.yiibai.com/python/python_cgi_programming.html
默认情况下,Linux服务器被配置为只运行在在/var/www/cgi-bin目录中的脚本。如果想在其他目录运行CGI程序,需要更改配置文件。有两种方法。
1、设置 ScriptAlias(方法一)
在/etc/httpd/conf/httpd.conf
主配置文件中,找到ScriptAlias
所在行,添加你所需要的目录,如:
ScriptAlias /test/ "/var/www/test/"
上述代码的 /test/ 是你web访问的路径, /var/www/test/ 是你web访问路径实际对应的本地路径。
配置完成之后,保存退出,重启 httpd 服务即可。
注1:以上路径配置之后,该目录下所有文件都视为CGI程序处理,如果这时你放一个HTML文件进去,访问的时候会出错。
注2:路径最后的/
不能少,少了会报错。
2、配置对应的目录(方法二)
在主配置文件中写入以下内容:
# 下面的目录为你要设定的目录
<Directory "/var/www/test/">
Options ExecCGI
</Directory>
# 找到 AddHandler 所在行,加入你要添加的后缀,这里添加 .py
AddHandler cgi-script .cgi .py
经过这样设定后,在此目录下以 .py
结尾的文件当做 cgi
程序处理,其他文件正常处理。