首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Apache/Tomcat 生產環境優化實戰:從「擺設」到高性能靜動分離

     編輯:Java 相關知識

痛點:Apache 淪為擺設

大多數配置中 worker.properties 用 [uri:/jsp-examples/*],**所有請求(含靜態圖片/CSS/JS)全進 Tomcat**,Apache 形同虛設。Tomcat 處理靜態資源效率約為 Apache 1/10,嚴重拖垮吞吐量。

本地調優成功,線上遭遇「Matrix 現象」

  • 本地修正映射:[uri:/jsp-examples/*.jsp]、[uri:/jsp-examples/servlet/*],靜態資源自動落 Apache,壓測性能大增。
  • 線上部署卻出現:路徑解析時對時錯、虛擬主機全解析到第一個、配置文件本地正線上怪、Firefox 緩存疑雲……同質可重複性失效,令人懷疑人生。

關鍵配置細節

worker.properties 正確姿勢

worker.list=tomcat
worker.tomcat.type=ajp13
worker.tomcat.host=localhost
worker.tomcat.port=8009
worker.tomcat.lbfactor=1
# 僅轉發動態請求
worker.tomcat.mount=/myapp/*.jsp
worker.tomcat.mount=/myapp/servlet/*
worker.tomcat.mount=/myapp/*.action

其餘請求(/images/、/css/、/js/、/index.html)由 Apache 直接服務。

虛擬主機陷阱

  • httpd.conf 中 NameVirtualHost *:80 必須在 VirtualHost 之前。
  • 每個 VirtualHost 需獨立 DocumentRoot、ServerName、JkMount。
  • 線上測試時**必須清除瀏覽器緩存/用無痕模式**,否則舊重定向、舊 DNS 緩存會干擾判斷。

Symbolic Link 解決上傳目錄管理難題

Tomcat 不支援 Symbolic Link(安全限制),導致上傳文件無法遷移至磁盤空間充裕處。配置好 Apache 後,開啟 Options FollowSymLinks,Apache 可直接服務鏈接目標文件,**Webapp 目錄保持輕量,運維靈活**。

總結

  1. **靜動分離是核心**;映射規則要精確,拒絕通配符濫用。
  2. **配置文件版本控制**,本地線上一致部署。
  3. **測試環境隔離**,警惕瀏覽器緩存干擾。
  4. **善用 Apache 能力**(靜態服務、鏈接、壓縮、緩存),讓 Tomcat 專注業務邏輯。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved