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

CentOS 7 安裝 Tomcat 9 完整教學:從下載到系統服務註冊

     編輯:Java 綜合教學

CentOS 7 部署 Tomcat 9 步驟指南

本文記錄在阿里雲 CentOS 7 環境下,手動安裝配置 Tomcat 9.0.0.M4 的完整流程,包含環境變數設定、連接埠修改、管理介面啟用、系統服務註冊等生產環境就緒配置。

前置準備

# 建立目錄結構
mkdir -p /usr/local/tools /usr/local/tomcat
cd /usr/local/tools

# 下載 Tomcat 9(範例版本,建議換用最新穩定版)
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M4/bin/apache-tomcat-9.0.0.M4.tar.gz
tar -zxvf apache-tomcat-9.0.0.M4.tar.gz
mv apache-tomcat-9.0.0.M4 ../tomcat/

環境變數配置

vim /etc/profile
# 追加以下內容
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4
export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.0.M4
export PATH=$PATH:$CATALINA_BASE/bin

source /etc/profile

Tomcat 核心配置

1. 修改連接埠與編碼 (conf/server.xml)

<Connector port="80" protocol="HTTP/1.1" 
           connectionTimeout="20000" redirectPort="8443" 
           URIEncoding="UTF-8" />

生產環境建議使用 80/443 埠,需 root 權限或配置 authbind/setcap。

2. 啟用管理介面 (conf/tomcat-users.xml)

<user username="admin" password="強密碼" roles="manager-gui,admin-gui"/>

3. 設定 JAVA_HOME (bin/catalina.sh)

# 在 # OS specific support 之前插入
JAVA_HOME=/usr/local/jdk/jdk1.8.0_91
JRE_HOME=$JAVA_HOME/jre

驗證啟動

cd $CATALINA_HOME/bin
./startup.sh
# 瀏覽器訪問 https://SERVER_IP/ 應見到 Tomcat 首頁

註冊為系統服務

vim /etc/init.d/tomcat9
# 寫入以下內容
#!/bin/bash
# chkconfig: 2345 20 80
# description: Tomcat Start Stop Restart
JAVA_HOME=/usr/local/jdk/jdk1.8.0_91
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4
export JAVA_HOME CATALINA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH

case $1 in
    start) sh $CATALINA_HOME/bin/startup.sh ;;
    stop)  sh $CATALINA_HOME/bin/shutdown.sh ;;
    restart) sh $CATALINA_HOME/bin/shutdown.sh; sh $CATALINA_HOME/bin/startup.sh ;;
esac
exit 0

# 賦權並註冊
chmod +x /etc/init.d/tomcat9
chkconfig --add tomcat9
chkconfig --level 2345 tomcat9 on
service tomcat9 start

常見問題排查

  • 連續執行 shutdown.sh 報 Connection refused:Tomcat 已停止,勿重複執行
  • 80 埠啟動失敗:非 root 用戶無法綁定 1024 以下埠,改用 8080 或配置 setcap 'cap_net_bind_service=+ep' $JAVA_HOME/bin/java
  • 中文檔名亂碼:確認 URIEncoding="UTF-8" 且 JVM 參數 -Dfile.encoding=UTF-8
  • 防火牆阻擋:firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload

生產環境建議

  1. 使用獨立 tomcat 使用者運行,非 root
  2. 配置 JVM 記憶體參數(CATALINA_OPTS)
  3. 啟用 Access Log 與 GC Log
  4. 定期更新 Tomcat 至最新安全版本
  5. 考慮使用 systemd 替代 SysV init 腳本(CentOS 7 原生支援)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved