在這里我所用的配置如下:
- CentOS:7.4
- Apache:2.4.6
- Tomcat:8.5.30
- JDK:openjdk 1.8
- Tomcat connectors:1.2.43
整合前所需要做的准備工作包括:
- 安裝JDK並配置環境變量
- 安裝Apache並測試通過
- 安裝Tomcat並測試通過
上述的安裝配置過程不再贅述,下面從安裝Tomcat connectors開始:
- 整合Apache與Tomcat有多種方法,這里選擇比較方便的也是比較常用的做法:通過Tomcat connectors進行兩者間的鏈接。下載Tomcat connectors,地址
- 安裝。通常把下載好的安裝包放在/usr/local目錄下並解壓,解壓完成后可刪除該安裝包,進入安裝包目錄下的native目錄下進行配置、編譯並安裝
[root@271d5811ce45 local]# tar -zxvf tomcat-connectors-1.2.43-src.tar.gz
[root@271d5811ce45 local]# cd tomcat-connectors-1.2.43-src/native/
[root@271d5811ce45 native]# ./configure --with-apxs=/usr/local/apache2/bin/apxs [root@271d5811ce45 native]# make [root@271d5811ce45 native]# make install - 上述步驟完成后在native/apache-2.0目錄下會產生一個mod_jk.so文件,把這個文件復制到Apache目錄下的modules目錄下
[root@271d5811ce45 apache-2.0]# cp mod_jk.so /etc/httpd/modules/
- 在Apache的相關目錄(我放在了/etc/httpd/conf)下創建mod_jk.conf和workers.properties文件
mod_jk.conf:
#LoadModule jk_module modules/mod_jk.so JkWorkersFile /etc/httpd/conf/workers.properties # Where to put jk logs JkLogFile /etc/httpd/logs/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # Select the log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" # JkOptions indicate to send SSL KEY SIZE, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat set the request format JkRequestLogFormat "%w %V %T" JkMount /*WEB-INF worker1 JkMount /*.action worker1 JkMount /*.jsp worker1 JkMount /application/* worker1 JkMount /*.do worker1 JkMount /*.class worker1 JkMount /*/servlet/* worker1
workers.properities:
# Defining a worker named worker1 and of type ajp13 worker.list=worker1 # Set properties for worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=50 worker.worker1.cachesize=10 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300
然后在Apache的配置文件中導入這兩個模塊,在httpd.conf文件的末尾加入以下內容:
LoadModule jk_module modules/mod_jk.so Include /etc/httpd/conf/mod_jk.conf
- 至此完成了配置部分,重啟Apache服務
[root@271d5811ce45 conf]# systemctl restart httpd
<html> <head><title>Hello</title></head> <body> <% java.util.Date currentTime = new java.util.Date(); %> <%=currentTime%> </body> </html>
訪問該jsp頁面:
該路徑下的靜態頁面:
至此動態和靜態頁面成功實現分離。