您的位置:首页 > 运维架构 > Tomcat

开启Tomcat的cgi解析python脚本

2017-11-09 16:05 351 查看
概述:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: