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

(一)系统环境

* Apache-tomcat-6.0.36 python

*  Python2.7 git

* JDK6 web

(二)配置Apache-tomcat-6.0.36

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

 SHAPE  \* MERGEFORMAT 浏览器

<servlet> tomcat

        <servlet-name>cgi</servlet-name> session

        <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class> app

        <init-param> webapp

          <param-name>clientinputTimeout</param-name> ide

          <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.      找到第二段被注释的节点:

 SHAPE  \* MERGEFORMAT

<servlet-mapping>

        <servlet-name>cgi</servlet-name>

        <url-pattern>/cgi-bin/*</url-pattern>

</servlet-mapping>

这里的<url-pattern>/cgi-bin/*</url-pattern>指定了浏览器访问的地址,与前面<param-value>WEB-INF/cgi-bin</param-value>相对应。

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脚本:

 SHAPE  \* MERGEFORMAT

#!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

一、  D盤根目錄下新建文件夾:”pannyweb”

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

三、  修改”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”.

四、  現在能够通過外網的IP地址訪問了。如:”http://10.41.80.194:8080/panny/”

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

(四)运行脚本

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

You got it? Good job~

相关文章
相关标签/搜索