1. 概述
本文介紹 Linux 系統安裝 Tomcat 後,設定開機自啟動的方法。
注:Tomcat 設定開機自啟動後,日誌路徑會變化,建議指定日誌路徑。指定日誌路徑文檔請參見:Tomcat 中指定日誌/臨時檔案路徑
2. Ubuntu16.04及之前&CentOS6.x&RedHat6.x配置 Tomcat 開機自啟動
2.1 建立 Tomcat 的管理腳本
1)首先,在系統的/etc/init.d/目錄下建立tomcat檔案:
vi /etc/init.d/tomcat
點選 i 鍵,在腳本中新增如下內容:
#!/bin/bash
# tomcat startup script for the Tomcat server
# chkconfig: 35 80 20
# description: start the tomcat deamon
#prog=tomcat
#EDISPORT=8080
#預設為 8080,若有調整請修改為實際的埠號
#EXEC=/usr/tomcat/bin/startup.sh
#tomcat 容器的啟動路徑
#CONF="/usr/tomcat/bin/catalina.sh"
#配置檔案路徑
#<---------------jdk--------------->#
#. /etc/rc.d/init.d/functions
#prog=tomcat
#JAVA_HOME=/usr/jdk/jdk1.8.0_181
#export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
#export PATH=$PATH:$JAVA_HOME/bin
#export JAVA_HOME#CATALANA_HOME=/usr/tomcat/
#export CATALINA_HOME
#<---------------jdk--------------->#
CATALANA_HOME=/usr/tomcat/
export CATALINA_HOME
case "$1" in start)
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
stop)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
;;
restart)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
sleep 2
echo
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
*)
echo "Usage: $prog {start|stop|restart}"
;;
esac
exit 0
對於自訂編譯安裝的 Tomcat(說明文檔中提供的即是此種方式),需要根據安裝路徑修改腳本中這幾項配置:
CATALANA_HOME=/usr/tomcat/ ====> tomcat/bin/目錄下 catalana.sh 的根目錄
2)儲存腳本檔案後設定檔案的執行權限:
chmod a+x /etc/init.d/tomcat
3)然後,就可以透過該腳本對 tomcat 服務進行管理了:
/etc/init.d/tomcat start
/etc/init.d/tomcat stop
2.2 使用 chkconfig 設定開機自啟動
1)上面的步驟完成了用腳本管理 Tomcat 服務的功能,接下來我們就可以使用 chkconfig 來設定 Tomcat 開機啟動了。
先將 Tomcat 服務加入 chkconfig 管理列表:
chkconfig --add /etc/init.d/tomcat
2)配置完以後,就可以使用以下命令設定開機自啟動等操作了:
chkconfig tomcat on # 設定開機自啟動
chkconfig tomcat off # 停止開機自啟動
service tomcat start # 啟動 tomcat 服務
service tomcat stop # 停止 tomcat 服務
service tomcat restart # 重啟 tomcat 服務
3. Ubuntu16.10及之後&CentOS7.x&RedHat7.x配置 Tomcat 開機自啟動
3.1 建立 Tomcat 的管理腳本
1)首先,在系統的/usr/lib/systemd/system/目錄下建立tomcat.service檔案:
vi /usr/lib/systemd/system/tomcat.service
點選 i 鍵,在腳本中新增如下內容:
[Unit]
Description=tomcat service
After=network.target
[Service]
Type=forking
ExecStart=/usr/tomcat/bin/startup.sh
ExecReload=/usr/tomcat/bin/startup.sh -s reload
ExecStop=/usr/tomcat/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
注:需要根據實際路徑修改腳本中的 Tomcat 安裝路徑「/usr/tomcat」。
2)儲存腳本檔案後設定檔案的執行權限:
chmod a+x /usr/lib/systemd/system/tomcat.service
3.2 指定 Tomcat 的啟動 JRE 路徑
1)編輯 Tomcat 的 bin 目錄下 setclasspath.sh 檔案:
vi /usr/tomcat/bin/setclasspath.sh #自己的tomcat路徑
注:正常這個檔案是有內容的,如果沒有內容,請編輯 Tomcat/bin/setenv.sh。如果檔案不存在,可以建立一個新的setenv.sh檔案。
2)增加 JRE 環境變數:
export JAVA_HOME=/usr/local/java/jdk1.8.0_151 #自己的java路徑
export JRE_HOME=/usr/local/java/jdk1.8.0_151/jre #自己的jre路徑
加入後效果:
儲存,跳出。
3.3 使用 systemctl 設定開機自啟動
配置完腳本以後,就可以使用以下命令設定開機自啟動等操作了:
systemctl enable tomcat.service # 設定開機自啟動
systemctl disable tomcat.service # 停止開機自啟動
systemctl start tomcat.service # 啟動 tomcat 服務
systemctl stop tomcat.service # 停止服務
systemctl status tomcat.service # 查看服務當前狀態
systemctl list-units --type=service # 查看所有已啟動的服務