天天看點

Linux下tomcat服務

一:Linux下tomcat服務的啟動、關閉與錯誤跟蹤,使用PuTTy遠端連接配接到伺服器以後,通常通過以下幾種方式啟動關閉tomcat服務:

切換到tomcat主目錄下的bin目錄(cd usr/local/tomcat/bin)

1,啟動tomcat服務

方式一:直接啟動 ./startup.sh

方式二:作為服務啟動 nohup ./startup.sh &

方式三:控制台動态輸出方式啟動 ./catalina.sh run 動态地顯示tomcat背景的控制台輸出資訊,Ctrl+C後退出并關閉服務

解釋:

通過方式一、方式三啟動的tomcat有個弊端,當用戶端連接配接斷開的時候,tomcat服務也會立即停止,通過方式二可以作為linux服務一直運作

通過方式一、方式二方式啟動的tomcat,其日志會寫到相應的日志檔案中,而不能動态地檢視tomcat控制台的輸出資訊與錯誤情況,通過方式三可以以控制台模式啟動tomcat服務,

直接看到程式運作時背景的控制台輸出資訊,不必每次都要很麻煩的打開catalina.out日志檔案進行檢視,這樣便于跟蹤查閱背景輸出資訊。tomcat控制台資訊包括log4j和System.out.println()等輸出的資訊。

2,關閉tomcat服務

./shutdown.sh

3,tomcat運作時jvm記憶體配置設定

⑴開發環境下在myeclipse中配置 

-Xms256m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSize=512m -XX:MaxPermSize=512m

⑵,線上環境(直接通過catalina或startup指令行的方式啟動)

①Linux下:catalina.sh

# OS specific support.  $var _must_ be set to either true or false.在該注釋之後加下面一行

JAVA_OPTS="-server -Xms256m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSize=512m -XX:MaxPermSize=512m"

②Windows下:cattalina.bat

rem Guess CATALINA_HOME if not defined 在該注釋之後加下面一行

set JAVA_OPTS=-Xms256m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSize=512m -XX:MaxPermSize=512m

二:Linux 下的一些常用指令解釋:

1,pwd-->示目前的工作目錄(pwd:print working directory)

2,ls-->顯示目前目錄内容(list)

ls|more 分屏顯示("|"為管道符,将前一個指令結果傳遞給後面的指令,more表示分屏)

ls /usr>test01/abc.txt 将指定目錄的内容追加到test01目錄下的abc.txt文本文檔中

ls -l 顯示長格式,簡寫ll,主要看檔案的名,大小,權限等

ls -a 顯示隐藏檔案

3,cd-->改變目前工作目錄

cd /usr-->轉到指定目錄

cd usr-->轉到指定目錄的子目錄

cd ..-->傳回到上一級目錄

cd ~ -->傳回到主目錄

4,clear--> 清屏

5,cat-->顯示檔案内容

cat file|more分屏顯示檔案内容(先顯示檔案内容,再将結果内容傳給後一個指令分屏)

cat file|grep abc 顯示包含字元abc的檔案内容(先顯示檔案内容,再将結果内容傳給後一個指令搜尋,grep具有搜尋功能)

cat > catalina.out 清空日志内容

6,touch-->建立新檔案

7,mkdir-->建立新目錄

8,rm-->删除檔案或目錄

rm file.txt 删除檔案

rm -rf test01 删除不為空的目錄(參數r:遞歸recursion,f:強制force)

9,rmdir-->删除空目錄

10,cp-->複制檔案

cp src.txt dest.txt

11,mv-->移動檔案

mv abc.txt def.txt 改名

mv test01 test02 改目錄名

mv test相當于mv t+(按Tab鍵),tab鍵有查找補充指令功能。

12,chmod-->改變權限模式

chmod +x catalina.sh 為catalina.sh加可執行的權限(參數x:執行execute)。linux下的檔案是否可執行取決于檔案屬性,不看擴充名。

chmod a+r catalina.out 将檔案 catalina.out 設為所有人皆可讀取。(參數a:所有人all)

chmod ugo+r catalina.out 也是将檔案 catalina.out 設為所有人皆可讀取。(參數u:檔案擁有者user,g:group群組,o:other其他)

13,vi-->Linux下的一個簡單編輯器

vi .bash_profile 打開Linux的使用者級初始檔案,:wq儲存退出,:q!不儲存退出

14,tail -->顯示檔案尾部内容

tail -f ./catalina.out,#将檔案最尾部内容顯示在螢幕上,并不斷重新整理顯示,按ctrl+c或delete退出。

15,netstat或者lsof-->檢視網絡端口與程序号

①netstat -anp|grep 8080 直接檢視指定端口的程序pid

#結果為

 協定  本地位址          外部位址        狀态           PID

 TCP   0.0.0.0:80      0.0.0.0:8080    LISTENING      5144/java

②lsof -i:8080 直接檢視指定端口的程序pid

COMMAND   PID   USER   FD   TYPE  DEVICE      SIZE NODE NAME

  java         5144    root   33u    IPv6   127800       TCP *:8080 (LISTEN)

則5144為8080這個端口的tomcat程序的pid,然後就可以kill這個程序:kill -9 5144

對比Windows下netstat指令:netstat -ano|findstr 8080,taskkill -f -pid 5144(f:force強制)

16,ping -->檢視網絡是連通

ping 127.16.8.66 檢視目前機器與目錄機器是否能正常通信(主要是看TCP/IP協定是否正常)

17,ipconfig 檢視ip位址

ipconfig -all 可以看到各個網絡擴充卡(本地網卡、無線網卡)的IP位址和MAC位址

18,ps -->檢視程式活動程序

ps -ef |grep tomcat 檢視是否已經有tomcat在運作了,如果有則将其程序殺死

#結果為:

sun 1540 1 0 10:21 pts/1 00:00:06 /java/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/java/tomcat/common/endorsed -classpath :/java/tomcat/bin/bootstrap.jar:/java/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/java/tomcat -Dcatalina.home=/java/tomcat -Djava.io.tmpdir=/java/tomcat/temp org.apache.catalina.startup.Bootstrap start 

則 1540 就為程序号 pid = 1540,然後就可以kill這個程序:kill -9 1540

對比Windows下tasklist指令:tasklist | findstr tomcat,taskkill -f -pid 5144

19,telnet-->測試遠端端口是否連通

telnet 10.4.200.114 1433

①端口通暢的情況

Trying 10.4.200.114...

Connected to 10.4.200.114 (10.4.200.114).

Escape character is '^]'.

②端口不通的情況

如果能ping通,但端口不通,說明有可能被防火牆禁用了該端口,解決辦法:

linux下:檢視防火牆:iptables –L

即時生效,重新開機後失效 (開啟: service iptables start ,關閉: service iptables stop )

設定防火牆:setup (亂碼)  解決Putty工具亂碼:檢視Linux系統當中使用的字元集echo $LANG $LANGUAGE,選擇菜修改設定(change settings)--->轉換(translation)-->選utf-8-->應用(apply)

win7下防火牆開放端口方法:控制台--系統和安全---windows防火牆---進階設定--入站規則--建立規則-->添加1433端口。

20,df -->檢視磁盤空間(diskfree)

df -lh /usr/local

21,du-->檢視已使用空間(diskused)

du -h /usr

du -h --max-depth=1  檢視檔案夾大小

22,top-->Linux下常用的性能分析工具,能夠實時顯示系統中各個程序的資源占用狀況,類似于Windows的任務管理器

top -s 檢視記憶體使用情況

top -s | grep java 檢視java程序的資訊

23,Linux壓縮與解壓縮

1,tar.gz這種格式是Linux下使用得最多的壓縮格式。它在壓縮時不會占用太多CPU的,而且可以得到一個非常理想的壓縮率。

tar -zcvf archive_name.tar.gz directory_to_compress -->壓縮一個目錄

tar -zxvf archive_name.tar.gz  -->解壓縮到目前目錄下

tar -zxvf archive_name.tar.gz -C /usr/temp/ -->解壓縮到指定目錄下

參數解釋:

-z  -gzip 調用gzip對tar歸檔檔案進一步壓縮成tar.gz格式,或者對tar.gz格式完成解壓縮

-x  -extract 解壓縮已歸檔的指定(或所有)檔案

-c  -create 建立新的歸檔檔案

-v  -verbose 生成詳細輸出

-f  -file 指定歸檔檔案名

-r  向歸檔檔案末尾追加檔案

-C 改變目錄

2,壓縮/解壓zip格式

zip file.zip ./directory/* -->壓縮指定目錄下的所有檔案及目錄

unzip file.zip -d ./test -->解壓縮到指定目錄

unzip file.zip -->解壓縮到目前目錄

unzip -v largefile.zip -->隻檢視壓縮包的内容,并不解壓縮

三:Linux與Windows的幾點差別:

echo $PATH 回顯Linux環境變量PATH的值,Linux下的環境變量必須大寫

echo %path% 回顯Windows環境變量path的值

export PATH=/usr/local/tomcat 修改設定Linux環境變量PATH的值(臨時),Linux檔案系統路徑是斜杠

set path=D:\Program Files\tomcat 修改Windows環境變量path的值(臨時),Windows檔案系統路徑是反斜杠

Linux:檢視、修改Linux下的使用者級初始檔案(.bash_profile),它是個隐藏檔案(永久)

Windows:計算機-->屬性-->進階-->環境變量,檢視、修改環境變量(永久)

Linux指令搜尋用grep,例如netstat -anp|grep 8080 

Windows Dos指令搜尋用findstr,例如netstat -anp|findstr 8080

Linux下Tomcat的啟動、關閉、殺死程序

打開終端

cd /java/tomcat

#執行

bin/startup.sh #啟動tomcat

bin/shutdown.sh #停止tomcat

tail -f logs/catalina.out #看tomcat的控制台輸出;

#看是否已經有tomcat在運作了

ps -ef |grep tomcat

#如果有,用kill;

kill -9 pid #pid 為相應的程序号

例如 ps -ef |grep tomcat 輸出如下

sun 5144 1 0 10:21 pts/1 00:00:06 /java/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/java/tomcat/common/endorsed -classpath :/java/tomcat/bin/bootstrap.jar:/java/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/java/tomcat -Dcatalina.home=/java/tomcat -Djava.io.tmpdir=/java/tomcat/temp org.apache.catalina.startup.Bootstrap start

則 5144 就為程序号 pid = 5144

kill -9 5144 就可以徹底殺死tomcat

#直接檢視指定端口的程序pid

netstat -anp|grep 9217

#結果為 tcp        0      0 :::9217                     :::*                        LISTEN      26127/java

#則26127為9217這個端口的tomcat程序的pid,然後就可以kill這個程序

kill -9 26127

#然後再啟動tomcat即可若轉載請注明出處!若有疑問,請回複交流!