1. 程式人生 > >Linux筆記 #10# 用於支持Web應用開發&部署&配置的一些自定義腳本

Linux筆記 #10# 用於支持Web應用開發&部署&配置的一些自定義腳本

普通 相關 啟動 image 分享圖片 linu snapshot sta pps

// 留著備用

一、本地開發與測試相關腳本

技術分享圖片

個人習慣在項目的根目錄下建立一個script文件夾用來存放各種自定義的腳本,

這樣在根目錄下不僅可以使用mvn命令和還可以很方便地執行自定義腳本(通過sh scripts/xxx.sh)。

1、startup.sh

cp target/你的應用名.war /d/apache-tomcat-9.0.8/webapps/test.war
sh /d/apache-tomcat-9.0.8/bin/startup.sh

說明:將maven項目部署到本地tomcat,並啟動本地tomcat。

備註:路徑需要自定義。

2、shutdown.sh

sh /d/apache-tomcat-9.0
.8/bin/shutdown.sh

說明:關閉本地tomcat。

備註:路徑需要自定義。

3、catalina-out.sh

tail -f -n 20 /d/apache-tomcat-9.0.8/logs/catalina.out

說明:在終端實時觀察本地tomcat的輸出日誌(相當於集成環境的控制臺)。

備註:路徑需要自定義。

4、localhost_access_log.sh

tail -f -n 20 /d/apache-tomcat-9.0.8/logs/localhost_access_log.`date +%F`.txt

說明:在終端實時觀察本地tomcat的訪問日誌(請求方IP、請求響應時間等)

備註:路徑需要自定義。

5、上傳本地文件到服務器指定目錄

scp ./target/simple-shop-1.0-SNAPSHOT.war [email protected]***.**.**.**:/root/scripts/projects/simpleshop

備註:ip、路徑需要自定義

二、服務端部署與日誌查看

1、nginx配置以及日誌查看

tail -f -n 20 /var/log/nginx/access.log
vim /etc/nginx/nginx.conf
tail -f -n 20 /var/log/nginx/error.log
nginx -s reload

備註:路徑需要自定義。

2、定制程度很高的一個腳本。。。

#!/bin/sh
# arg1: war file name, arg2: jdbc password

# 1. shutdown all cats
sh /opt/tomcat/cat_7070/bin/shutdown.sh
sh /opt/tomcat/cat_9090/bin/shutdown.sh

# 2. save
mv $1 `date +%F`.war

# 3. unzip 
unzip -oq `date +%F`.war -d shop1

# 4. config
pwd=$2
sed "s/^password=.*$/password=${pwd}/" shop1/WEB-INF/classes/hikari.properties -i > /dev/null

# 5. deploy
rm -rf /opt/tomcat/cat_7070/webapps/shop1
rm -rf /opt/tomcat/cat_9090/webapps/shop1
cp -rf shop1 /opt/tomcat/cat_7070/webapps
cp -rf shop1 /opt/tomcat/cat_9090/webapps

# 6. start all cats
sh /opt/tomcat/cat_7070/bin/startup.sh
sh /opt/tomcat/cat_9090/bin/startup.sh

說明:腳本含義見註釋,對於普通tomcat項目,習慣在服務端建立一個中央倉庫(中轉站),進行配置的更改、服務端環境的調試。所以就有了上面的腳本。

備註:該腳本以數據庫密碼作為參數。

再比如,類似於:

sed "s/^const BASE_URL.*$/const BASE_URL=\"http:\/\/***.**.**.**\/shop1\/api\/v1\"/" static/shop1/resources/js/utils/customUtils.js -i

更改一些靜態文件裏的配置信息,避免每次上傳都手動改。

當然現在很多技術可以避免這個,不過暫時還沒空去學。。

Linux筆記 #10# 用於支持Web應用開發&部署&配置的一些自定義腳本