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

JBoss / WildFly 版本演進全景圖與 EAP 5.1 生產級安裝部署實戰指南

     編輯:Java 綜合教學

JBoss 家族版本演進脈絡

系列關鍵版本里程碑備註
JBoss AS (社區版) 3.0.x → 3.2.x → 4.0.x → 4.2.x → 5.0.x → 5.1.x → 6.x → 7.0.x → 7.1.1.Final 7.1.1 後無安裝包,需自行編譯源碼
WildFly (原 AS 8+) 8.0.0.Final → 8.2.1 → 9.0.2 → 10.1.0.CR1 → … → 32.x (最新) Java EE 7/8 → Jakarta EE 9/10 全支持
JBoss EAP (企業版) 4.2/4.3 CP系列 → 5.x → 6.x (6.4.0) → 7.x (7.4) → 8.x 紅帽商業支持,長期維護,生產首選

核心區別: EAP = AS/WildFly 穩定切片 + 紅帽補丁 + 商業 SLA。生產環境強烈建議使用 EAP。

EAP 5.1.0 生產級安裝全過程 (Linux)

1. 環境準備

# JDK 6/7/8 均可,示例用 JDK 8
cd /opt
tar -zxvf jdk-8u202-linux-x64.tar.gz
echo 'export JAVA_HOME=/opt/jdk1.8.0_202' >> ~/.bash_profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile
java -version

2. 解壓與目錄結構

unzip jboss-eap-5.1.0.zip
# 關鍵目錄
jboss-eap-5.1/
├── jboss-as/
│   ├── bin/           # run.sh, run.conf, shutdown.sh
│   ├── server/
│   │   ├── default/   # 默認配置集
│   │   │   ├── conf/  # jboss-service.xml, jboss-log4j.xml, login-config.xml
│   │   │   ├── deploy/# 應用部署目錄
│   │   │   └── lib/   # 共享庫
│   │   ├── minimal/   # 最小配置
│   │   └── production/# 生產配置 (預配線程池、數據源、集群)
│   └── lib/           # 核心模塊

3. 關鍵配置文件速查

文件作用典型修改點
bin/run.confJVM 參數、內存、GCJAVA_OPTS="-Xms2g -Xmx4g -XX:MetaspaceSize=256m"
server/default/conf/jboss-service.xml核心 MBean 服務調整線程池、JMX 端口
server/default/conf/jboss-log4j.xml日志級別、輸出格式生產關閉 DEBUG,開啟滾動策略
server/default/conf/props/jmx-console-users.propertiesJMX 控制台認證必改默認密碼
server/default/deploy/hdscanner-jboss-beans.xml熱部署掃描間隔scanPeriod=5000 (ms)

4. 啟動參數大全

cd jboss-as/bin
# 綁定所有網卡 (生產必須)
./run.sh -b 0.0.0.0

# 指定配置集
./run.sh -c production

# 系統屬性注入
./run.sh -Djboss.server.log.dir=/var/log/jboss -P /opt/app.properties

# 後台守護進程模式
nohup ./run.sh -b 0.0.0.0 -c production > /dev/null 2>&1 &

5. 驗證安裝

  • 瀏覽器訪問 https://:8080 → JBoss 首頁
  • 查看 server/default/log/boot.log 確認版本啟動時間
  • 查看 server/default/log/server.log 無 ERROR 即正常
  • 執行 ./run.sh --version 輸出版本信息

生產環境硬化清單

  1. 禁用管理控制台或強認證: 修改 jmx-console-users.properties、web-console-users.properties,或直接刪除 deploy/management-console.war。
  2. 調整內存與 GC: 生產建議 -Xms4g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200。
  3. 配置數據源連接池: deploy/*-ds.xml 定義 <min-pool-size>/<max-pool-size>,啟用 <validate-on-match>true</validate-on-match>。
  4. 開啟 HTTPS: 修改 server/default/deploy/jbossweb.sar/server.xml 添加 SSL Connector,導入憑證。
  5. 集群模式: 使用 production 配置集,配置 partition-name、udp/mcast_addr,啟用分布式會話 replication-trigger=SET。
  6. 日志集中化: 接入 ELK/EFK,jboss-log4j.xml 配置 SocketAppender 或 Filebeat 采集。

常見坑點避雷

  • 中文路徑/空格路徑: 導致類加載失敗,絕對避免。
  • Linux hosts 文件缺失: 啟動拋 UnknownHostException,需 127.0.0.1 hostname 映射。
  • 端口衝突: 8080/9990/1099 被佔用,修改 jboss-service.xml ServiceBindingManager 或用 -Djboss.socket.binding.port-offset=100。
  • JDK 版本不匹配: EAP 5.x 需 JDK 6/7,EAP 6/7 需 JDK 8/11,WildFly 27+ 需 JDK 11/17。

結語

從 JBoss AS 3.x 到 WildFly 32.x,二十年演進見證了 Java EE 到 Jakarta EE 的蛻變。掌握版本脈絡、熟練 EAP 生產部署與硬化,是中間件運維工程師的核心基本功。建議團隊建立 標準化安裝腳本 + 配置版本管理 + 自動化巡檢 體系,將部署從「手藝」變為「產品」。

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