主頁 > 知識庫 > 非常實用的Tomcat啟動腳本實現(xiàn)方法

非常實用的Tomcat啟動腳本實現(xiàn)方法

熱門標(biāo)簽:金融行業(yè)外呼線路 東莞人工智能電銷機器人供應(yīng)商 長沙開福怎么申請400電話 廣州電銷機器人系統(tǒng)圖 江蘇電銷外呼防封系統(tǒng)是什么 智能電話機器人線路 賀州市地圖標(biāo)注app 高德地圖標(biāo)注無營業(yè)執(zhí)照 百度地圖標(biāo)注要不要錢

前言

有這樣一個場景,公司為了安全起見,需要對所有登錄Linux服務(wù)器做安全限制,要求除了管理員其他要登錄linux服務(wù)器的員工不能用最高權(quán)限賬號登錄,要創(chuàng)建新的用戶,對目錄及文件權(quán)限做出控制,只能對需要操作的目錄允許讀,寫,執(zhí)行權(quán)限,其他目錄只有讀的權(quán)限,并且所有tomcat不能直接在bin中用startup.sh,shutdown.sh進(jìn)行啟動和停止,要通過寫shell腳本進(jìn)行此操作,也就是說有兩個步驟,創(chuàng)建用戶并設(shè)置權(quán)限,寫tomcat啟動腳本,下面我們就完成這兩個步驟。

1.首先我們就來創(chuàng)建一個普通用戶。

groupadd tomcat #加組 
useradd -g tomcat -s /usr/sbin/nologin tomcat #向組加用戶 
usermod -L tomcat #鎖定密碼,使密碼無效 
passwd tomcat # 設(shè)置密碼 

通過這四步,我們就把普通用戶創(chuàng)建好了,在創(chuàng)建用戶時,我們是先創(chuàng)建的組,組創(chuàng)建完成后創(chuàng)建用戶并加入該組。

用戶創(chuàng)建完成后,就開始給用戶設(shè)置權(quán)限

chown -R tomcat:tomcat /data #分配權(quán)限給用戶 

這就是給tomcat這個用戶設(shè)置了可以操作data目錄及其子目錄下的權(quán)限,-R就代表該目錄及其級聯(lián)子目錄。

[root@localhost data]# ls -l 
total 0 
drwxr-xr-x. 4 tomcat tomcat 79 May 20 08:03 tomcat 
[root@localhost data]# 

 此時我們通過ls -l 命令就可以看到data目錄已經(jīng)屬于tomcat用戶,且擁有查看,寫入,執(zhí)行權(quán)限

2.完成了用戶創(chuàng)建后,我們就要開始完成tomcat啟動腳本。

如代碼所示:

#!/bin/bash 
tomcat_home=/data/tomcat/tomcat-8484 
SHUTDOWN=$tomcat_home/bin/shutdown.sh 
STARTTOMCAT=$tomcat_home/bin/startup.sh 
case $1 in 
start) 
echo "啟動$tomcat_home" 
$STARTTOMCAT 
cd /data/tomcat/tomcat-8484/logs 
tail -f catalina.out 
;; 
stop) 
echo "關(guān)閉$tomcat_home" 
#$SHUTDOWN 
netstat -anp | grep 8484| grep -v grep | awk '{print $7}' | sed -e 's//java//g' | sed -e 's/^/kill -9 /g' | sh 
#pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk '{print $2}'` 
#kill -9 $pidlist 
#刪除日志文件,如果你不先刪除可以不要下面一行 
#rm $tomcat_home/logs/* -rf 
#刪除tomcat的臨時目錄 
#rm $tomcat_home/work/* -rf 
;; 
restart) 
echo "關(guān)閉$tomcat_home" 
$SHUTDOWN 
#pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk '{print $2}'` 
#pidlist=`netstat -anp |grep 8484 |grep -v "grep"|awk '{print $2}'` 
#netstat -anp | grep 8484| grep -v grep | awk '{print $7}' | sed -e 's//java//g' | sed -e 's/^/kill -9 /g' | sh 
#kill -9 $pidlist 
sleep 5 
echo "啟動$tomcat_home" 
$STARTTOMCAT 
#看啟動日志 
#tail -f $tomcat_home/logs/catalina.out 
;; 
logs) 
cd /data/tomcat/tomcat-8484/logs 
tail -f catalina.out 
;; 
esac 

上面代碼就是tomcat啟動腳本,首先我們要創(chuàng)建一個文本文件,然后將后綴名變成.sh,這里我是用端口號為8484的tomcat作為例子,從腳本文件中可以看到,總共只需對自己tomcat位置和日志位置進(jìn)行自定義改動后就可以使用,總共有四個命令,start,stop,restart,logs。

腳本文件創(chuàng)建好后,只需將它放入你的服務(wù)器中,位置可以自己隨意選擇,我這里就把它放在了tomcat下bin目錄中。

腳本文件放入服務(wù)器后其實還不能使用,會有兩個問題待解決,一個是格式問題,一個是權(quán)限問題。因為我們是文本文件創(chuàng)建的,其格式是文本格式,我們要改成unix格式,所以要進(jìn)行如下設(shè)置

sed -i "s/ 
//" tomcat-8484.sh #設(shè)置腳本文件為unix格式 

完成了格式設(shè)置后就要為該腳本文件設(shè)置權(quán)限,因為linux默認(rèn)文件的權(quán)限是drwxr-xr-x,即所有運行權(quán)限賦予文件所有者也就是系統(tǒng)管理員(當(dāng)前我是用系統(tǒng)管理員登錄),把讀和運行的權(quán)限賦予群組用戶,把讀的權(quán)限賦予其他用戶,所以我們要對腳本文件權(quán)限進(jìn)行重新設(shè)置。

chmod 777 ./tomcat-8484.sh 

chmod命令就是改變權(quán)限的命令,這個777是什么意思呢?

在Linux系統(tǒng)中,文件或目錄的權(quán)限又分為3種:只讀、只寫、可執(zhí)行。


依照上面的表格,權(quán)限組合就是對應(yīng)權(quán)限值求和,如下:

7 = 4 + 2 + 1 讀寫運行權(quán)限

5 = 4 + 1 讀和運行權(quán)限

4 = 4 只讀權(quán)限

因此,大家也就明白了 chmod 777 ./tomcat-8484.sh 命令的含義了。

此時我們的tomcat啟動腳本就完成了,下面我們來演示一下。

啟動

[root@localhost bin]# ./tomcat-8484.sh start 
啟動/data/tomcat/tomcat-8484 
Using CATALINA_BASE: /data/tomcat/tomcat-8484 
Using CATALINA_HOME: /data/tomcat/tomcat-8484 
Using CATALINA_TMPDIR: /data/tomcat/tomcat-8484/temp 
Using JRE_HOME: /usr 
Using CLASSPATH: /data/tomcat/tomcat-8484/bin/bootstrap.jar:/data/tomcat/tomcat-8484/bin/tomcat-juli.jar 
Tomcat started. 

我們查看進(jìn)程看一下是否真的啟動

[root@localhost bin]# ps -ef |grep tomcat 
root 5569 1 7 14:09 pts/0 00:00:06 /usr/bin/java -Djava.util.logging.config.file=/data/tomcat/tomcat-8484/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /data/tomcat/tomcat-8484/bin/bootstrap.jar:/data/tomcat/tomcat-8484/bin/tomcat-juli.jar -Dcatalina.base=/data/tomcat/tomcat-8484 -Dcatalina.home=/data/tomcat/tomcat-8484 -Djava.io.tmpdir=/data/tomcat/tomcat-8484/temp org.apache.catalina.startup.Bootstrap start 
root 5611 5340 0 14:10 pts/0 00:00:00 grep --color=auto tomcat 

可以看到啟動沒有問題。

關(guān)閉

[root@localhost bin]# ./tomcat-8484.sh stop 
關(guān)閉/data/tomcat/tomcat-8484 
sh: line 2: kill: (18484) - No such process 
[root@localhost bin]# ps -ef |grep tomcat 
root 5621 5340 0 14:13 pts/0 00:00:00 grep --color=auto tomcat 

查看進(jìn)程確實是關(guān)閉成功的,好了我們的tomcat啟動腳本也就大功告成了,這個腳本還可以自己在此基礎(chǔ)上進(jìn)行延伸,例如在啟動后就立即查看日志等。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

標(biāo)簽:北京 張家界 洛陽 滄州 廊坊 松原 永州 玉樹

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《非常實用的Tomcat啟動腳本實現(xiàn)方法》,本文關(guān)鍵詞  非常,實,用的,Tomcat,啟動,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《非常實用的Tomcat啟動腳本實現(xiàn)方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于非常實用的Tomcat啟動腳本實現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章