系統環境
² 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>
這裏的<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腳本:
- #!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地址訪問了。如:”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~