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

Apache HTTP Server 整合 Tomcat/JBoss 完整配置指南

     編輯:J2EE

架構概述:反向代理與負載均衡

Apache HTTP Server 作為前端 Web 伺服器,負責處理靜態資源(HTML、CSS、JS、圖片)與 SSL 終結,將動態請求(JSP、Servlet)透過 AJP 協議轉發至後端 Tomcat 或 JBoss 應用伺服器。此架構提升了安全性、效能與擴展性。

環境準備與 Apache 安裝

  1. 下載 Apache HTTP Server(如 apache_2.2.3-win32-x86-no_ssl.msi)並安裝。
  2. 若啟動失敗(常見 80 埠被佔用),執行 netstat -ano 找出 PID,於工作管理員結束該進程。
  3. 瀏覽器訪問 https://localhost 出現 "It works!" 表示安裝成功。

核心模組:mod_jk 配置步驟

1. 部署 mod_jk 模組

下載 mod_jk-apache-2.2.3.so,複製至 Apache 安裝目錄下的 modules 資料夾。

2. 建立 workers.properties 定義後端 Worker

# 定義真實 worker 使用 AJP13 協議
worker.list=admin

# 設定 admin worker 屬性
worker.admin.type=ajp13
worker.admin.host=127.0.0.1
worker.admin.port=8009
worker.admin.lbfactor=50
worker.admin.socket_keepalive=1

關鍵參數: host 為後端伺服器 IP,port 為 AJP 埠(Tomcat/JBoss 預設 8009)。

3. 修改 httpd.conf 載入模組與掛載規則

# 載入 mod_jk 模組
LoadModule jk_module modules/mod_jk-apache-2.2.3.so

# 指定 workers.properties 位置
JkWorkersFile conf/workers.properties

# 設定日誌
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# 將所有請求轉發給 admin worker
JkMount /* admin

JkMount /* admin 表示所有路徑請求皆轉發至 worker.list 定義的 admin worker。

後端伺服器配置:啟用 AJP 連接器

Tomcat (conf/server.xml)

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

JBoss (server/default/deploy/jboss-web.deployer/server.xml)

<Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3"
           emptySessionPath="true" enableLookups="false" redirectPort="8443" />

確保後端 AJP 埠與 workers.properties 中 worker.admin.port 一致。

驗證與測試

  1. 依序啟動 Apache、Tomcat/JBoss。
  2. 瀏覽器訪問 https://localhost,實際由後端 8009 埠處理。
  3. 部署測試專案(如 https://localhost/myapp),確認動態內容正常顯示。

常見問題排查

  • 404 錯誤:檢查 JkMount 路徑模式與後端 Context Path 是否匹配。
  • 連線被拒絕:確認防火牆允許 8009 埠,後端 AJP Connector 已啟用。
  • 中文亂碼:在 Tomcat server.xml AJP Connector 加入 URIEncoding="UTF-8"。

總結

Apache + mod_jk + Tomcat/JBoss 是經典的生產環境部署架構。掌握 workers.properties、httpd.conf 及後端 AJP Connector 的配置細節,能構建高可用、高效能的 Java Web 應用集群。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved