系統(tǒng)環(huán)境
2 Apache-tomcat-6.0.36
2 Python2.7
2 JDK6
配置Apache-tomcat-6.0.3
1. 打開web.xml文件(D:\apache-tomcat-6.0.36\conf\web.xml),找到這一段被注釋的節(jié)點(diǎn)(如下),如果你從沒(méi)自己修改過(guò),那應(yīng)該是被注釋的,你還需要添加一些參數(shù)。
<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>
解釋幾個(gè)重要的參數(shù):
“passShellEnvironment”: 與Python解析器解析CGI腳本有關(guān),但是一定要配置好Python的環(huán)境變量;
“cgiPathPrefix”: 與Server能夠訪問(wèn)的腳本目錄有關(guān),與第二步內(nèi)容相對(duì)應(yīng);
“executable”: (這是我的安裝路徑)與Python解析器有關(guān),沒(méi)有解析器,Server怎么解析呢~
2. 找到第二段被注釋的節(jié)點(diǎn):
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
這里的/cgi-bin/*指定了瀏覽器訪問(wèn)的地址,與前面
WEB-INF/cgi-bin相對(duì)應(yīng)。
3. 配置權(quán)限:
打開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>
關(guān)于Apache的配置暫時(shí)結(jié)束,后面還有~
編寫CGI腳本程序
這是一個(gè)在Windows下運(yùn)行的非常簡(jiǎn)單的CGI腳本:
#!D:\Python27\python.exe
print 'Content-type: text/plain'
print #打印空行,以結(jié)束首部
print 'Hello, CGI'
文件名:cgitest.cgi
“#!D:\Python27\python.exe”是被指定必須存在的Pound Bang行;
“print 'Content-type: text/plain' ”: 這表明頁(yè)面是普通的文本,如何頁(yè)面為HTML,這一行就應(yīng)該這么寫;
配置自己的website
在這里,不使用任何第三方IDE,你也可以創(chuàng)建自己的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>”節(jié)點(diǎn)內(nèi)最後添加:”<Context path=”/panny” docBase=”D:\pannyweb” />”,修改文件”web.xml”中的節(jié)點(diǎn)”<servlet></servlet>”中”<init-param></init-param>”中”<param-name>listings<param-name>”的值為”true”.
4、現(xiàn)在可以通過(guò)外網(wǎng)的IP地址訪問(wèn)了。如:”http://10.41.80.194:8080/panny/”
5、在D:\pannyweb\WEB-INF目錄下創(chuàng)建文件夾命名為:”cgi-bin”,把前面創(chuàng)建好的cgitest.cgi拷貝進(jìn)去。此時(shí)一切準(zhǔn)備就緒了。
運(yùn)行腳本
在瀏覽器里輸入:http://127.0.0.1:8080/panny/cgi-bin/cgitest.cgi