Linux笔记 #10# 用于支持Web应用开发&部署&配置的一些自定义脚本

// 留着备用

一、本地开发与测试相关脚本

个人习惯在项目的根目录下建立一个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 root@***.**.**.**:/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

备注:路径需要自定义。

实际中,我将几个指令分别写成shell脚本,方便调用。

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

更改一些静态文件里的配置信息,避免每次上传都手动改。

当然现在很多技术可以避免这个,不过暂时还没空去学。。

posted @ 2019-04-27 12:34  xkfx  阅读(259)  评论(0编辑  收藏  举报