6.0.36配置基于Python的CGI脚本解析

² Apache-tomcat-6.0.36

² Python2.7

² JDK6

配置Apache-tomcat-6.0.3

1. 打开web.xml文件(D:\apache-tomcat-6.0.36\conf\web.xml),找到这一段被注释的节点(如下),如果你从没自己修改过,那应该是被注释的,你还需要添加一些参数。

<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>clientinputTimeout</param-name>
<param-value>100</param-value>
</init-param>
<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-bin</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>D:/Python27/python.exe</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>

解释几个重要的参数:

“passShellEnvironment”: 与Python解析器解析CGI脚本有关,但是一定要配置好Python的环境变量;

“cgiPathPrefix”: 与Server能够访问的脚本目录有关,与第二步内容相对应;

“executable”: (这是我的安装路径)与Python解析器有关,没有解析器,Server怎么解析呢~

2. 找到第二段被注释的节点:

<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>

这里的/cgi-bin/*指定了浏览器访问的地址,与前面

WEB-INF/cgi-bin相对应。

3. 配置权限:

打开context.xml(D:\apache-tomcat-6.0.36\conf),添加:privileged="true"

<Context privileged="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
</Context>

关于Apache的配置暂时结束,后面还有~

编写CGI脚本程序

这是一个在Windows下运行的非常简单的CGI脚本:

#!D:\Python27\python.exe
print 'Content-type: text/plain'
print #打印空行,以结束首部
print 'Hello, CGI'

文件名:cgitest.cgi

“#!D:\Python27\python.exe”是被指定必须存在的Pound Bang行;

“print 'Content-type: text/plain' ”: 这表明页面是普通的文本,如何页面为HTML,这一行就应该这么写;

配置自己的website

在这里,不使用任何第三方IDE,你也可以创建自己的website。

1、在D盤根目錄下新建文件夾:”pannyweb”;

2、拷貝”WEB-INFO”文件(D:\apache-tomcat-6.0.36\webapps\ROOT)到”pannyweb”文件夾中;

3、修改”server.xml”文件(D:\apache-tomcat-6.0.36\conf),在”<Host></Host>”節點內最後添加:”<Context path=”/panny” docBase=”D:\pannyweb” />”,修改文件”web.xml”中的節點”<servlet></servlet>”中”<init-param></init-param>”中”<param-name>listings<param-name>”的值為”true”.

4、現在可以通過外網的IP地址訪問了。如:”:8080/panny/”

5、在D:\pannyweb\WEB-INF目录下创建文件夹命名为:”cgi-bin”,把前面创建好的cgitest.cgi拷贝进去。此时一切准备就绪了。

运行脚本

在浏览器里输入::8080/panny/cgi-bin/cgitest.cgi

You got it? Good job~

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d821093889ae66522e7cd0e7e7ac12ff.html