CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP 服务器,提供同客户端 HTML 页面的接口。
在进行 CGI 编程前,确保您的 Web 服务器支持 CGI 及已经配置了 CGI 的处理程序。
Mac上是自带Apache cgi的运行环境的,默认端口是80, 但是不可以直接用,需要进行相应的修改才可以正常运行。
一、修改配置
CGI的相关配置在httpd.conf文件中,不过需要修改一下配置。
修改httpd.conf文件需要root权限,权限设置:
sudo vim /etc/apache2/httpd.conf
1、找到LoadModule cgi_module libexec/apache2/mod_cgi.so
,并解注释
2、找到AddHandler cgi-script .cgi
, 并解注释。并且可以在后面增加.py,表示可以访问.py结尾的python脚本文件,也可以增加.pl,.shell等等,表示可以执行各种类型的脚本。
3、在httpd.conf中找到如下代码,目录/Library/WebServer/CGI-Executables就是cgi-bin运行的文件目录,我们创建的各种脚步需要放到这个目录下才能运行。
二、创建python脚本temp.py或者temp.cgi
#!/usr/bin/env python
print('Content-type:text/html\n')
print("<html><head><title>Books</title></head>")
print("<body>")
print("<h1>Books</h1>")
print("<ul>")
for i in range(10):
print("<li>%s</li>" % i)
print('</ul>')
print('</body></html>')
将创建好的执行文件放在/Library/WebServer/CGI-Executables目录下,并赋予root权限
sudo chmod 755 temp.py
三、重启appachectl服务
sudo apachectl restart
扩展:停止appachectl服务
sudo apachectl stop
四、打开浏览器,输入
http://localhost/cgi-bin/temp.py
页面如下: