Linux Tomcat安裝篇(daemon執行,開機自啟動)

吳碼發表於2020-11-30

目錄

前言

作為一個Java後端開發者,tomcat想必是最最最熟悉的一個開發元件了,tomcat環境的搭建部署都十分簡單。安裝部署只需要兩步,第一步下載,第二步解壓,這樣一個基礎的tomcat環境就搭建好啦。通常直接執行tomcat目錄下的bin/startup.sh指令碼進行啟動,執行bin/shutdown.sh指令碼進行關閉。剛工作那段時間一直都是這麼操作的,玩的不亦樂乎,工作幾年後忽然發現還能以daemon守護程式的方式進行執行,一下子被這波操作給安利了,簡直666,今天就來說說如何操作。

版本

系統:CentOS-6.4 (系統有點老,手頭就這一個映象)
tomcat:8.5.60

關注本文末尾微信公眾號,回覆“666”獲取常用開發工具包,內含常用開發元件,節省翻牆下載時間。

安裝部署

1.下載

從tomcat庫中選擇一個最新版本進行下載
https://mirrors.cnnic.cn/apache/tomcat/

這邊選擇tomcat8 最新的版本,複製檔案地址
https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.60/bin/apache-tomcat-8.5.60.tar.gz

cd /usr/local/work/
wget --no-check-certificate  https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.60/bin/apache-tomcat-8.5.60.tar.gz

tar -zxvf apache-tomcat-8.5.60.tar.gz

2.建立使用者

# 建立使用者組
groupadd tomcat
# 建立使用者(無登入許可權)並加入tomcat組
useradd -g tomcat -s /usr/sbin/nologin tomcat

3.安裝jsvc

# 進入tomcat bin目錄
cd tomcat-8.5.60/bin/
# 解壓 daemon
tar -zxvf commons-daemon-native.tar.gz

cd commons-daemon-1.2.3-native-src/unix/
# 調整為jdk安裝目錄
./configure --with-java=/usr/local/work/jdk1.8.0_172

make
cp jsvc /usr/local/work/tomcat-8.5.60/bin
cd /usr/local/work/tomcat-8.5.60/bin/

4.編輯daemon.sh

在daemon.sh中開頭第二行新增如下資訊

# chkconfig: 2345 20 80
# description: Startup script for the Tomcat 8.5.60 Server

在daemon.sh中該行test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat上放新增jdk及tomcat資訊
這邊TOMCAT_USER=tomcat需和上面建立的使用者名稱一致

# jdk安裝目錄
JAVA_HOME=/usr/local/work/jdk1.8.0_172
# tomcat目錄
CATALINA_HOME=/usr/local/work/tomcat-8.5.60
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat

4.賦權並新增服務

# 更改檔案所有者
chown -R tomcat:tomcat /usr/local/work/tomcat-8.5.60
# 賦予使用者執行權
chmod a+x /usr/local/work/tomcat-8.5.60/bin/daemon.sh
# 複製至/etc/init.d/
cp daemon.sh /etc/init.d/tomcat8
# 新增服務
chkconfig --add tomcat8
# 檢視已有服務
chkconfig --list

# 啟動
service tomcat8 start
# 關閉
service tomcat8 stop

至此tomcat已以daemon方式執行了,重啟伺服器後tomcat服務也會自動啟動,nice。

5.日誌中文亂碼

在daemon方式執行後,在tomcat/logs目錄下會出現2個新檔案,如下

# 執行pid資訊
catalina-daemon.pid
# 日誌輸出資訊 原先日誌輸出檔案 catalina.out
catalina-daemon.out

讓我們檢視下日誌資訊

tail -f -n 500 /usr/local/work/tomcat-8.5.60/logs/catalina-daemon.out

原先都是正常的,現在怎麼亂碼了呢,操作如下即可
開啟/etc/init.d/tomcat8,在$LOGGING_MANAGER行調整如下

test ".$LOGGING_MANAGER" = . && LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

追加編碼配置“-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8”
按如下配置

test ".$LOGGING_MANAGER" = . && LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"

調整完後趕緊試一把,OK,搞定。

相關文章