Posted on 2018-10-20 10:34
ZhouFeng 閱讀(1520)
評論(0) 編輯 收藏 所屬分類:
原創 、
Web開發 、
Web服務器
今天折騰一下如何在Tomcat環境下運行python腳本,查閱了一些文檔,把實現的過程小結如下,當前實驗環境,Tomcat8,Eclipse。python環境是Anaconda,因為之前有安裝這個東東,也就沒有重新安裝python環境了。首先在Eclipse中創建新工程,并可以在Tomcat中運行起來,接下來才是配置cgi的步驟
1、在web工程WEB-INF目錄下創建目錄cgi,當然也可以是別的名字
2、修改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</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>D:/Anaconda3/python.exe</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
注意修改python的路徑
cgiPathPrefix: 與Server能夠訪問的腳本目錄有關,與之前創建的目錄相對應
3、開啟cgi的mapping映射,修改web.xml,開啟如下設置
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
訪問路徑可以修改為自定義字符
4、修改content.xml文件,在Context中添加privileged屬性
<Context privileged="true">
5、在工程cgi目錄寫python文件,如hello.py
print('Content-type: text/plain\n\n')
print('Hello python')
輸出text/plain說明這是一個普通文本,一定注意之后要有兩個換行(小心坑啦)?。。?/div>
6、運行工程并測試
http://localhost:8080/prj/cgi-bin/hello.py
所見結果,通過這種方法可以在Tomcat環境下運行python腳本了,如果是已經用python腳本做好了服務的話,還是可以考慮通過服務調用的方式與Tomcat工程進行整合,在此記錄一下