歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux下快速部署項目

由於Linux和Java一樣開源,所以現在在服務器的部署上基本上都是采用Linux平台作為服務器,然後部署項目!在開發項目的過程中,絕大部分程序猿還是使用最經典的windows操作系統,雖然Linux也有桌面化的系統,對於國人來說,還是不太習慣,並且國內的軟件絕大部分都不支持Linux平台,所以在使用的頻率那是相當的少!

在開發中,開發環境中編譯使用等一系列通過後,還不能說功能已經ok,因為環境一旦變化,出現的問題的可能是自己沒有考慮的,所以程序猿都知道真實的環境才是最可靠的,有時候出現的問題,在真實的環境需要多次才能重現,甚至長時間無法重現,因此在真實的環境中進行大量的測試時相當需要的!

來講講是怎麼改善部署環境的:

這裡使用到了一個shell腳本,簡單介紹一下shell腳本:shell script,shell腳本與windows/dos下的批處理相似,也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的。但是它比windows下的批處理更強大,比用其他編程程序編輯的程序效率更高,畢竟它使用Linux/Unix下的命令。

換一種說法也就是,shell script是利用shell的功能縮寫的一個程序,這個程序是使用純文本文件,將一些shell的語法和指令都寫在裡面,然後用正則表示法,管道命令以及數據流重導向等功能,以達到我們所想要的處理目的。

更明白的來說,shell script就想早起dos年代的.bat,最簡單的功能就是將許多指令匯整寫一起,讓使用者很容易的就能夠一個操作執行多個命令,而shell script更是提供了數組,循環,條件以及邏輯判斷等重要功能,讓使用者可以直接以shell來寫程序,而不必使用類似C程序語言等傳統程序編寫的語法。

shell就簡單的介紹到這裡!現在直接貼上shell腳本(tom.sh)裡的內容

#!/bin/bash  
      
service tomcat stop  
sleep 3  
#kill java  
killall java  
#remove pid  
rm -rf /var/run/tomcat.pid  
rm -rf /nac/web/tomcat/webapps/hupunac* /nac/web/tomcat/webapps/ROOT  
rm -rf /nac/web/tomcat/work/*  
#clear log  
>/var/log/tomcat/catalina.out  
#rz  
cd /nac/web/tomcat/webapps  
rz  
#start tomcat  
sleep 3  
service tomcat start  
#  
echo "Please wait for 80s......"
sleep 80  
netstat -an|grep :::6002 > /dev/null  
if [ $? != 0 ];then  
        service tomcat stop  
        killall java  
        rm -rf /var/run/tomcat.pid  
        service tomcat start  
else
        echo "tomcat start ok!"
fi

這裡的

本欄目更多精彩內容:http://www.bianceng.cn/OS/Linux/

service tomcat stop命令應該很清楚了吧,就是先將tomcat的服務先停止,當然可能在這個時候tomcat的服務本身就沒有開啟,但是不影響整個腳本的執行

sleep 3指的是睡眠3s(秒),俗稱等待3秒

killall java強制殺死Java程序

rm -rf強制刪除,使用這個命令,主要是為了刪除服務器下那些必須刪除的文件

> 這條命令是將文件清空的意思,在我這裡主要是清空日志文件

cd是指進入目錄

rz是指文件導入,就是windows中的浏覽一般,然後上傳

service tomcat start這時候,我們項目的war上傳成功後,開始啟動服務,接著又是等待服務開啟

這裡做了一個優化,因為在我們的程序中使用到了6002端口,所以如果服務開啟完畢後端口還沒有起來,也就是listen狀態,netstat -an這命令是用來查看當前系統中所有端口信息,這些端口中的6002端口是我們所需要的數據,所以我們可以用netstat -an|grep :::6002來過濾!如果沒有起來的話,說明在tomcat的服務開啟過程中出現了問題,然後再次走流程,這時候只是少了一步上傳war包的動作。

好啦,腳本介紹完畢了,這時候我們可以執行. /nac/script/tom.sh,ok項目就可以輕松部署了!

這時候就用人要問了,這麼長的路徑,這麼難找,挺費事!還不能更加優化呢,這是當然的,必須能優化,這裡介紹兩種優化方式:

1、在root下的.bashrc文件下加入alias webupdate='. /nac/script/tom.sh'

2、在/etc/profile中加入alias webupdate='. /nac/script/tom.sh'

兩種方式都介紹完了,兩種優化方式都行,後者更好,更方便,因為後者是配置在系統的環境變量上,而前者是配置在root用戶的環境變量上,所以前者只有root能使用,而後者的話所有用戶都可以使用該命令,這樣就可以使用webupdate這一條命令就可以輕松換war包部署

可能這時候有人就要問了,用命令怎麼說不存在呢!當然,設備沒有重啟,配置的這些資源還有重新加載呢,肯定沒有使用咯,重啟設備就ok,重啟設備太費勁了,我們可以用source一下就好啦,這樣就可以直接使用剛剛配置好命令,記住source是source剛才修改的文件!

最後我們是不是可以很輕松很方便很快捷就能把我們的項目重新部署了呢!

Copyright © Linux教程網 All Rights Reserved