<1>安裝Tomcat7,官網下載Tomcat7解壓版解壓即可。
<2>安裝Apache2.4,官網可以直接下載壓縮版解壓即可,也可以從這裡下載。
第一步,開啟httpd.conf,修改第38行伺服器路徑如圖
路徑是伺服器安裝的根目錄如圖
接著修改第60行和第222行的連接埠號碼,這個隨意改,當然也可以不改,我這裡改成了8088,記住這個連接埠號碼,後面設定VirtualHost時能用到。
繼續修改講74行和158行的注釋#去掉如圖
將171行注釋加上如圖
第二步,在conf檔案夾下添加靜態資源設定檔static-resource-proxy.conf,這個檔案命名隨意但是需要在httpd.cnf最後一行Include一下,如圖
檔案內容:
#添加伺服器代理支援模組
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
#需要監聽的虛擬位址,連接埠號碼和httpd.conf中一致,因為需要通過apache伺服器分發請求
<VirtualHost *:8088>
ServerName 127.0.0.1 #服務名稱
DocumentRoot "${SRVROOT}/htdocs/" #靜態資源地址
ErrorLog logs/webapp-error.log #日誌相關
CustomLog logs/webapp-access.log common
ProxyRequests off
ProxyPass /resources/ ! #如果請求的url包含resources,則請求不被轉寄,Apache自己處理(即靜態資源路徑)
ProxyPass / http://127.0.0.1:8080/ #其他路徑交給tomcat
ProxyPassReverse / http://127.0.0.1:8080/
# 非常重要,用於保持每個request都在同一個session裡
ProxyPassReverseCookiePath /market/ /
</VirtualHost>
原理思想:如果訪問路徑中包含resources就交給apache處理,不包含resources就交給tomcat處理
第三步,修改Tomcat設定檔server.xml將AJP/1.3監聽的地址設定為上面需要監聽的ip,因為我是在本地測試,所以我這裡直接設定成127.0.0.1(其他同理),如下圖
第四部,測試
先將靜態資源放到Apache伺服器htdocs\resources檔案夾中如圖
再將項目部署到tomcat中(刪除原來項目的resources)
然後先開啟tomcat再開啟apache
測試如圖 下面是訪問靜態資源 走的是apache伺服器裡的resource
下面訪問非靜態經資源,則直接通過tomcat訪問