因本人一直使用的是Tomcat7,所以下文所说的Tomcat都是Tomcat7。
Ⅰ.环境准备
Ⅱ.Tomcat7安装
- 将上面下载的Tomcat7的zip包,解压到纯英文路径下即可。
Ⅲ.ActivePerl安装
- 双击上面下载的msi安装包,进行安装。
- 安装完成后,打开windows命令行(cmd),输入下面命令,能看到Perl版本表示安装成功。
perl -v
Ⅳ.Tomcat服务器配置CGI(Perl)
- 在上面Ⅱ中解压好的文件夹中找到conf和webapps这两个目录
- 在webapps目录下新建一个文件夹demo,在demo中新建两个文件夹:META-INF和WEB-INF
- 将conf中的web.xml拷贝到WEB-INF中
- 将conf中的context.xml拷贝到META-INF中
- 在WEB-INF/web.xml文件中添加如下内容后,保存并关闭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>executable</param-name>
<param-value>perl</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet><servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>*.pl</url-pattern>
</servlet-mapping>
6.最后更改META-INF/context.xml文件内容,具体如下
<Context privileged="true"> 在Context标签中添加属性privileged="true" ,保存并关闭文件即可
7.在WEB-INF中新建文件夹cgi,在cgi中创建demo.pl文件,并且写入以下测试代码,然后保存并关闭demo.pl。请注意demo.pl文件需要是utf-8格式的。如果不是请将下面代码中的utf-8改成demo.pl的文件编码。
#!/usr/bin/perl
print "Content-type:text/html\r\n\r\n";
print '<html>';
print '<head>';
print '<meta http-equiv="Content-Type" Content="text/html; Charset=utf-8">';
print '<title>欢迎来到我的主页</title>';
print '</head>';
print '<body>';
print '<h2>Hello Word! </h2>';
print '<p>这是我的第一个Perl CGI程序</p>';
print '</body>';
print '</html>
Ⅴ.测试是否配置成功
- 进入Ⅱ中解压好的目录,找到bin文件夹
- 打开bin文件夹,找到startup.bat,双击执行(不要关闭弹出的窗口,当看到Server startup in 846 ms时,表示web服务器启动成功)
- 打开浏览器,输入URL:http://localhost:8080/demo/demo.pl
- 看到如下内容,即表示配置成功。