開啓Tomcat的cgi解析python腳本

原文鏈接:https://blog.csdn.net/m0_37355951/article/details/78490131

概述:

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

————————————————
版權聲明:本文爲CSDN博主「往前的娘娘」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/m0_37355951/article/details/78490131

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章