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

时间:2023-12-12 10:26:56

// 留着备用

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

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

个人习惯在项目的根目录下建立一个script文件夹用来存放各种自定义的脚本,

这样在根目录下不仅可以使用mvn命令和还可以很方便地执行自定义脚本(通过sh scripts/xxx.sh)。

1、startup.sh

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

说明:将maven项目部署到本地tomcat,并启动本地tomcat。

备注:路径需要自定义。

2、shutdown.sh

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

说明:关闭本地tomcat。

备注:路径需要自定义。

3、catalina-out.sh

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

说明:在终端实时观察本地tomcat的输出日志(相当于集成环境的控制台)。

备注:路径需要自定义。

4、localhost_access_log.sh

tail -f -n  /d/apache-tomcat-9.0./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  /var/log/nginx/access.log
vim /etc/nginx/nginx.conf
tail -f -n /var/log/nginx/error.log
nginx -s reload

备注:路径需要自定义。

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

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

2、定制程度较高的一个脚本。。。

#!/bin/sh
# arg1: war file name, arg2: jdbc password # . shutdown all cats
sh /opt/tomcat/cat_7070/bin/shutdown.sh
sh /opt/tomcat/cat_9090/bin/shutdown.sh # . save
mv $ `date +%F`.war # . unzip
unzip -oq `date +%F`.war -d shop1 # . config
pwd=$
sed "s/^password=.*$/password=${pwd}/" shop1/WEB-INF/classes/hikari.properties -i > /dev/null # . 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 # . 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

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

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