tomcat开启cgi
要运行cgi,主要是改两个文件,一个是web.xml,一个是context.xml。1.web.xml先把下面这段的注释去掉,然后添加默认没有的段<servlet> <servlet-name>cgi</servlet-name> <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>passShellEnvironment</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>cgiPathPrefix</param-name> <param-value>WEB-INF/cgi</param-value> </init-param> <init-param> <param-name>executable</param-name> <param-value>/usr/bin/perl</param-value> </init-param> <init-param> <param-name>clientInputTimeout</param-name> <param-value>100</param-value> </init-param> <load-on-startup>5</load-on-startup></servlet>去掉下面的注释 <servlet-mapping> <servlet-name>cgi</servlet-name> <url-pattern>/cgi-bin/*</url-pattern></servlet-mapping>
参数的含义大家百度一下啦
下面详细解释以下内容 <init-param> <param-name>executable</param-name> <param-value>/usr/bin/perl</param-value> </init-param>
参数executable,这个参数的默认值是支持perl的,也就是说是用来解释perl脚本的。如果你用c++来写cgi脚本,那么executable这个参数的value要设为 cmd /c,还支持python,php等等,cgi接口程序使用什么语言编写就使用什么参数,
2.context.xml
context.xml主要是改这么一行:<Context privileged="true">直接在context后加上privileged="true"就可以了,用于放行可执行文件
3.添加测试程序# cd/usr/local/tomcat6/webapps/ROOT/WEB-INF# mkdir cgi# cd cgi/# lstest1.cgi# cat test1.cgi#!/usr/bin/perlprint "Content-type:text/html\n\n";$now = localtime();print "<h1>It is$now</h1>";
使用浏览器打开相关网页http://10.58.1.96:8080/cgi-bin/test1.cgi看到图片上的内容表示设置成功
天塌下来你顶着,我垫着! 俺从不写措字,但俺写通假字! 所有的男人生来平等,结婚的除外。 过来看看的 男人在结婚前觉得适合自己的女人很少,结婚后觉得适合自己的女人很多。 解释就是掩饰,掩饰就是编故事!
页:
[1]