【发布时间】:2013-08-21 03:49:26
【问题描述】:
我有一个 Ubuntu10.04 操作系统的系统。
我的 Apache tomcat(6.0.29) 安装在 /usr/local/tomcat/
我有一个 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/
输入状态报告
消息 /eegis/cgi-bin/
描述 请求的资源 (/eegis/cgi-bin/) 不可用。
Apache Tomcat/6.0.29
【问题讨论】:
-
问题已经解决了。我还是会分享我的经验。第一个问题是我的 python 脚本我忘记插入 "\n\n" (print "Content-type: text/html\n\n") [mid it \n\n 紧随其后的标题没有任何空格(打印"Content-type: text/html \n\n") 这将不起作用]在内容描述标题的末尾。其次,我将文件保存为 .py 但它应该是 .cgi 其他一切都很好。我的脚本现在正在执行。谢谢