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

JSP 動態網站環境搭建全攻略:Tomcat + Apache/IIS 三種整合方案詳解

     編輯:關於JSP

核心組件認知

組件角色關鍵點
J2SDKJava 執行基礎JSP 本質是 Java,必須先裝 JDK
Apache HTTPD靜態資源、代理、SSL、重寫處理靜態檔高效、成熟模組生態
TomcatJSP/Servlet 容器本身可做 HTTP 伺服器,但靜態效能弱於 Apache
mod_jk / mod_proxy_ajpApache ↔ Tomcat 連接器AJP 協議二進制、高效、支援負載均衡
isapi_redirect (tc4ntiis)IIS ↔ Tomcat 連接器Windows 原生 ISAPI 機制

方案一:Tomcat 獨立運行 (開發/測試/簡單部署)

  1. 安裝 JDK,設定 JAVA_HOME、PATH。
  2. 解壓 Tomcat,bin/startup.sh (Linux) 或 bin/startup.bat (Windows)。
  3. 瀏覽 https://localhost:8080 驗證貓首頁。
  4. Web 應用放入 webapps/ 目錄 (WAR 或展開目錄)。

方案二:Apache + Tomcat (生產標準架構)

連接器選擇:mod_jk (AJP) vs mod_proxy_http

推薦 mod_jk (AJP 1.3):二進制協議、連接池、會話黏滯、錯誤檢測更完善。

關鍵配置步驟 (Linux 範例)

  1. 編譯/安裝 mod_jk.so (或包管理器 yum install mod_jk)。
  2. httpd.conf 載入模組:LoadModule jk_module modules/mod_jk.so
  3. 建立 workers.properties:
worker.list=tomcat1
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost
worker.tomcat1.port=8009
worker.tomcat1.lbfactor=1
  1. httpd.conf 掛載:
JkMount /myapp/* tomcat1
JkMount /myapp tomcat1
# 靜態資源由 Apache 直接服務
Alias /myapp/static /var/www/myapp/static
<Directory /var/www/myapp/static>
    Require all granted
</Directory>
  1. Tomcat server.xml 確保 AJP 連接器啟用:
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
  2. 重啟 Apache、Tomcat,驗證 https://domain/myapp/。

方案三:IIS + Tomcat (Windows 企業環境)

  1. 安裝 IIS (含 ISAPI 擴展、CGI)。
  2. 解壓 isapi_redirect.dll (來自 tc4ntiis.zip) 到 C:\Tomcat\bin\。
  3. 建立 isapi_redirect.properties:
extension_uri=/jakarta/isapi_redirect.dll
worker_file=C:\Tomcat\conf\workers.properties.minimal
log_file=C:\Tomcat\logs\isapi_redirect.log
log_level=info
  1. IIS 管理器 → 網站 → 「處理程式對應」 → 新增腳本映射:
    請求路徑:*、可執行檔:C:\Tomcat\bin\isapi_redirect.dll、名稱:Jakarta。
  2. 配置 workers.properties.minimal 指向 Tomcat AJP 端口 (8009)。
  3. 重啟 IIS、Tomcat 驗證。

現代化部署建議 (2024+)

  • 容器化:Dockerfile 打包 Tomcat + 應用,K8s Deployment + Service + Ingress (Nginx/Traefik) 替代 Apache/IIS 反向代理。
  • Spring Boot 嵌入式 Tomcat/Jetty/Undertow:JAR 直接運行,無需外部容器,java -jar app.jar。
  • GraalVM Native Image:AOT 編譯為原生可執行檔,啟動毫秒級、記憶體極低。
  • Serverless:AWS Lambda / Azure Functions / Knative 運行 Java 函數,按需付費。

版本對照表 (歷史參考)

軟體文中版本 (2003)現代 LTS 版本 (2024)
JDK1.4.121 (LTS) / 17 (LTS)
Tomcat4.1.2110.1.x (Jakarta EE 10) / 9.0.x
Apache2.0.432.4.x
mod_jk1.2.x1.2.48+
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved