概述:
CGI(Common Gateway Interface): 通用网关接口,简单理解通过不同脚本转成html页面的过程。说的形象,将各种肉变成香肠的加工机器。而它目的转成html页面
1、先决条件:
必须要安装Java,Python,Tomcat软件,对于Java、Tomcat需要配置环境变量。
笔者JDK1.8、 Python3.6.3、Tomcat7.0
关键是设置Tomcat步骤:
2、下载Tomcat(Tomcat 7.0)
http://tomcat.apache.org/download-70.cgi
3、修改配置文件web.xml 在 <TOMCAT_HOME>\conf\目录下
例如: C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf
取消注释 添加 debug参数,调试用的, 这类类似平时url路径拦截进行处理的配置
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
4、添加servlet参数passShellEnvironment 然后设置为True(运行环境检查通过才行,可选的)
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
5、添加servlet参数“executable” 注意修改param-value标签的值为自己安装python目录的python.exe路径
<init-param>
<param-name>executable</param-name>
<param-value>C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe</param-value>
</init-param>
6、web.xml修改的整个内容如下
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
7、修改<TOMCAT_HOME>\conf\context.xml 增加属性privileged=“true” 到<Context> 不然会报权限不足
<Context privileged="true">
</Context>
8、创建一个<TOMCAT_HOME>\webapps 目录下创建一个test文件夹
9、在继续创建文件夹WEB-INF, 在WEB-INF创建cgi文件夹 形成如下路径<TOMCAT_HOME>\webapps\test\WEB-INF\cgi\
10、在<TOMCAT_HOME>\webapps\test\WEB-INF\cgi\ 目录下创建hello.py文件
内容为:
print ("Content-type: text/html\n\n")
print ("Hello, world!\n")
注意在python 3.X 之后需要加括号
11、启动tomcat、打开浏览器输入http://localhost:8080/test/cgi-bin/hello.py
参考文档:http://lekshmideepu.blogspot.com/2013/03/configure-tomcat-7-to-run-python-cgi.html
————————————————
版权声明:本文为优快云博主「往前的娘娘」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/m0_37355951/article/details/78490131