在Apache在配置对CGI的支持



LoadModule cgi_module modules/mod_cgi.so


定义CGI的目录(httpd.conf)



ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
Options Indexes FollowSymLinks MultiViews +ExecCGI
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>


定义CGI支持的文件后缀



AddHandler cgi-script .cgi .py .sh


编写CGI脚本

注意: 需要添加可执行权限



cd /var/www/cgi-bin
vim list.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 row in range(10):
print "<li>%s</li>" % row

print "</ul>"
print "</body></html>"

chmod +x list.cgi


访问测试



# curl  localhost:80/cgi-bin/list.cgi 
<html><head><title>Books</title></head>
<body>
<h1>Books</h1>
<ul>
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
</body></html>


 

自己试的两个:

apache中如何调用CGI脚本_.net

 

 

 

 

个人经验:如果在测试过程中遇到服务器500错误,可以把apache日志调出来查看修改