apache-tomcat-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),找到這一段被註釋的節點(如下),如果你從沒自己修改過,那應該是被註釋的,你還需要添加一些參數。

 

  1. <servlet> 
  2.  
  3.         <servlet-name>cgi</servlet-name> 
  4.  
  5.         <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class> 
  6.  
  7.         <init-param> 
  8.  
  9.           <param-name>clientinputTimeout</param-name> 
  10.  
  11.           <param-value>100</param-value> 
  12.  
  13.         </init-param> 
  14.  
  15.                    <init-param> 
  16.  
  17.           <param-name>debug</param-name> 
  18.  
  19.           <param-value>0</param-value> 
  20.  
  21.         </init-param> 
  22.  
  23.         <init-param> 
  24.  
  25.           <param-name>passShellEnvironment</param-name> 
  26.  
  27.           <param-value>true</param-value> 
  28.  
  29.         </init-param> 
  30.  
  31.         <init-param> 
  32.  
  33.           <param-name>cgiPathPrefix</param-name> 
  34.  
  35.           <param-value>WEB-INF/cgi-bin</param-value> 
  36.  
  37.         </init-param> 
  38.  
  39.                    <init-param> 
  40.  
  41.           <param-name>executable</param-name> 
  42.  
  43.           <param-value>D:/Python27/python.exe</param-value> 
  44.  
  45.         </init-param> 
  46.  
  47.          <load-on-startup>5</load-on-startup> 
  48.  
  49.     </servlet> 

解釋幾個重要的參數:

“passShellEnvironment”: Python解析器解析CGI腳本有關,但是一定要配置好Python的環境變量;

“cgiPathPrefix”: Server能夠訪問的腳本目錄有關,與第二步內容相對應;

“executable”: (這是我的安裝路徑)與Python解析器有關,沒有解析器,Server怎麼解析呢~

2.      找到第二段被註釋的節點:

 

  1. <servlet-mapping> 
  2.  
  3.         <servlet-name>cgi</servlet-name> 
  4.  
  5.         <url-pattern>/cgi-bin/*</url-pattern> 
  6.  
  7. </servlet-mapping> 

這裏的<url-pattern>/cgi-bin/*</url-pattern>指定了瀏覽器訪問的地址,與前面<param-value>WEB-INF/cgi-bin</param-value>相對應。

3.      配置權限:

打開context.xmlD:\apache-tomcat-6.0.36\conf),添加:privileged="true"

 

  1. <Context privileged="true"> 
  2.  
  3.   
  4.  
  5.     <!-- Default set of monitored resources --> 
  6.  
  7.     <WatchedResource>WEB-INF/web.xml</WatchedResource> 
  8.  
  9.          
  10.  
  11.     <!-- Uncomment this to disable session persistence across Tomcat restarts --> 
  12.  
  13.     <!-- 
  14.  
  15.     <Manager pathname="" /> 
  16.  
  17.     --> 
  18.  
  19.   
  20.  
  21.     <!-- Uncomment this to enable Comet connection tacking (provides events 
  22.  
  23.          on session expiration as well as webapp lifecycle) --> 
  24.  
  25.     <!-- 
  26.  
  27.     <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> 
  28.  
  29.     --> 
  30.  
  31.   
  32.  
  33. </Context> 

關於Apache的配置暫時結束,後面還有~

編寫CGI腳本程序

這是一個在Windows下運行的非常簡單的CGI腳本:

 

  1. #!D:\Python27\python.exe 
  2.  
  3. print 'Content-type: text/plain' 
  4.  
  5. print #打印空行,以結束首部 
  6.  
  7.   
  8.  
  9. 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地址訪問了。如:”http://10.41.80.194:8080/panny/”

5、  D:\pannyweb\WEB-INF目錄下創建文件夾命名爲:”cgi-bin”,把前面創建好的cgitest.cgi拷貝進去。此時一切準備就緒了。

運行腳本

在瀏覽器裏輸入:http://127.0.0.1:8080/panny/cgi-bin/cgitest.cgi

You got it? Good job~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章