² Python2.7
² JDK6
配置Apache-tomcat-6.0.31. 打开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的配置暂时结束,后面还有~
这是一个在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,这一行就应该这么写;
在这里,不使用任何第三方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~