1. 程式人生 > >阿里雲cenos7安裝配置tomcat8,新增到系統服務,使用systemctl直接啟動

阿里雲cenos7安裝配置tomcat8,新增到系統服務,使用systemctl直接啟動

cenos7安裝配置tomcat8,新增到系統服務,使用systemctl直接啟動

建立目錄

mkdir -p /usr/local/tomcat

下載tomcat壓縮檔案

解壓到指定目錄

tar -zxvf apache-tomcat-8.5.31.tar.gz -C /usr/local/tomcat/

執行

cd /usr/local/tomcat/apache-tomcat-8.5.31/ ./startup.sh ./shutdown.sh

將tomcat作為系統服務,使用systemctl直接啟動方法。

修改tomcat的catalina.sh檔案,vim開啟 :set number 應該是142行下面新增 CATALINA_PID="$CATALINA_BASE/tomcat.pid"

138 # Only set CATALINA_HOME if not already set
139 [ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
140 
141 # Copy CATALINA_BASE from CATALINA_HOME if not already set
142 [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
143 CATALINA_PID="$CATALINA_BASE/tomcat.pid"
144 # Ensure that any user defined CLASSPATH variables are not used on startup, 145 # but allow them to be specified in setenv.sh, in rare case when it is needed.

然後在/usr/lib/systemd/system下面建立tomcat.service檔案

vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/tomcat/apache-tomcat-8.5.31/tomcat.pid
ExecStart=/usr/local/tomcat/apache-tomcat-8.5.31/bin/startup.sh
ExecReload=
ExecStop=/usr/local/tomcat/apache-tomcat-8.5.31/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

systemctl管理tomcat

  • systemctl enable tomcat 開機啟動
  • systemctl status tomcat 檢視狀態
  • systemctl start / stop / restart tomcat 開始/停止/重啟 tomcat

遇到的問題

如果只是配好了tomcat.pid就啟動過tomcat的話,需要在所有配置完成後 在tomcat關閉的情況下 刪除 rm tomcat.pid 檔案,然後使用上面的命令來啟動tomcat