【问题标题】:Run Perl CGI script in Tomcat 7.0.70在 Tomcat 7.0.70 中运行 Perl CGI 脚本
【发布时间】:2017-08-07 23:12:00
【问题描述】:

我正在尝试在 Tomcat 7.0.70 webserver in linux box 中托管我的 cgi 页面。

我已完成以下步骤,但我无法在浏览器中查看我的 cgi 页面。

  1. 我创建了一个名为“test.pl”的 CGI 脚本。
#!/usr/bin/perl
print "Content-type: text/html\n\n";
foreach (sort keys %ENV)
{
  print "<b>$_</b>: $ENV{$_}<br>\n";
}
  1. 我在 ~/myweb/apache-tomcat-7.0.70/webapps/ 路径中创建了一个目录“myprog”。
  2. 然后我在 ~/myweb/apache-tomcat-7.0.70/webapps/myprog/ 中创建了一个目录“WEB-INF”
  3. 然后我在“myprog/WEB-INF/”中创建了一个“cgi”目录并放置了test.pl文件。
  4. 然后我从 web.xml 中删除了以下几行的 cmets,它位于 ~/myweb/apache-tomcat-7.0.70/conf/

    cgi org.apache.catalina.servlets.CGIServlet 调试 0 cgiPath前缀 WEB-INF/cgi 5 而且,servlet 映射区域也是如此。

  5. 之后,我将 servlets-cgi-4.1.36.jar 和 servlets-ssi-5.0.16.jar 文件下载到 ~/myweb/apache-tomcat-7.0.70/lib/

  6. 然后,我尝试通过网络浏览器从我的 Windows 机器运行该文件:http://devserver.com/myprog/,它返回的消息为

    HTTP 状态 404 - /myprog/ 类型状态报告 消息 /myprog/ 描述 请求的资源不可用。 Apache Tomcat/7.0.70

请有人协助/建议解决此问题。

【问题讨论】:

  • 通常tomcat监听8080端口
  • 我已经配置了9080端口并且已经有一些java应用在运行
  • 然后尝试拨打devserver.com/9080myprog
  • 我也试过devserver.com:9080/myprog。相同的 HTTP 状态 404 - /myprog/ 类型状态报告消息 /myprog/ 描述 请求的资源不可用。 Apache Tomcat/7.0.70
  • 我错过了什么吗?请问有什么程序文件可以在tomcat 7.0中部署我的cgi脚本

标签: perl tomcat7 cgi


【解决方案1】:

您发布的服务器日志摘录表明您的 Web 应用程序需要获得特权才能使用 CGIServlet。在 /webapps/myprog/META-INF 中,添加一个文件 context.xml 上下文>

【讨论】:

    猜你喜欢
    • 2015-05-27
    • 2013-03-11
    • 1970-01-01
    • 2011-08-15
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 2013-12-31
    相关资源
    最近更新 更多