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
更改一些静态文件里的配置信息,避免每次上传都手动改。
当然现在很多技术可以避免这个,不过暂时还没空去学。。