配置Apache Tomcat 6.0在linux系统上的cgi-bin中运行python脚本?

时间:2012-12-21 10:01:24

标签: python tomcat cgi

我有一个使用Ubuntu10.04操作系统的系统 我在/ usr / local / tomcat /
安装了我的Apache tomcat(6.0.29) 我有一个python脚本hello.py
我想在cgi-bin中运行这个python脚本 Python位于/ usr / bin / python
我正在运行的应用程序是运行良好的eegis http://localhost:8080/eegis/index.html

我已经在网上搜索了很多,它说你必须使用以下配置配置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>cgiPathPrefix</param-name> 
<param-value>WEB-INF/cgi</param-value> 
</init-param> 
<init-param> 
<param-name>executable</param-name> 
<param-value>/usr/bin/python</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>/cgi-bin/*</url-pattern> 
</servlet-mapping>

我已经这样做但仍然无法运行python脚本 在尝试http://localhost:8080/eegis/cgi-bin/hello.py

我收到此错误

HTTP状态404 - / eegis / cgi-bin /
类型状态报告
message / eegis / cgi-bin /
description请求的资源(/ eegis / cgi-bin /)不可用 Apache Tomcat / 6.0.29

1 个答案:

答案 0 :(得分:-1)

  

现在问题已经解决了。我仍然会分享我的经验。第一个问题是我的python脚本我忘了插入“\ n \ n”(打印“Content-type:text / html \ n \ n”)[中间\ n \ n在标题之后立即没有任何空格(打印) “内容类型:text / html \ n \ n”)这不起作用]在内容描述标题的末尾。其次我把文件保存为.py,但它应该是.cgi,其他一切都很好。我的脚本现在正在执行。感谢