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
备注:路径需要自定义。

实际中,我将几个指令分别写成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
更改一些静态文件里的配置信息,避免每次上传都手动改。
当然现在很多技术可以避免这个,不过暂时还没空去学。。
Linux笔记 #10# 用于支持Web应用开发&部署&配置的一些自定义脚本的更多相关文章
- 10款让WEB前端开发人员更轻松的实用工具
这篇文章介绍10款让Web前端开发人员生活更轻松的实用工具.每个Web开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具,所以如 ...
- App.js – 用于移动 Web App 开发的 JS 界面库
App.js 是一个轻量级的 JavaScript UI 库,用于创建像本地应用程序的移动 Web 应用而不牺牲性能和体验.它是跨平台的,特定的UI设计,配置类似原生的过渡效果.App.js 的目的是 ...
- office web apps安装部署,配置https,负载均衡(七)配置过程中遇到的问题详细解答
该篇文章,是这个系列文章的最后一篇文章,该篇文章将详细解答owa在安装过程中常见的问题. 如果您没有搭建好office web apps,您可以查看前面的一系列文章,查看具体步骤: office we ...
- office web apps安装部署,配置https,负载均衡(五)配置服务器场
前提条件:您已经完成了域控制器的配置,拥有域账号,并且已经安装了OWA启动所需要的必要软件: 具体步骤可以参考: office web apps安装部署,配置https,负载均衡(一)背景介绍 off ...
- 自学Zabbix3.10.1.5-事件通知Notifications upon events-媒介类型自定义脚本
自学Zabbix3.10.1.5-事件通知Notifications upon events-媒介类型自定义脚本
- office web apps安装部署,配置https,负载均衡(六)配置负载均衡
owa可以采用任何的负载均衡方案,我们这里采用阿里云提供的负载均衡解决方案 前提条件,你已经配置了一台域控制器,两台域服务器[即安装了owa相关软件,并将计算机隶属于域]: 如果您不清楚怎么做,那么请 ...
- office web apps安装部署,配置https,负载均衡(四)安装office web apps相关软件
前提条件: 1.一台windows server 2008R2服务器,并且已经配置了域: 服务器连接域控制器的相关文档,请查看上一篇文章: office web apps安装部署,配置https,负载 ...
- office web apps安装部署,配置https,负载均衡(三)服务器连接域控制器
前提条件:1>一台window server 2008R2 服务器 2>您已经在同一内网的另外一台服务器上安装好了域控制器文档请看我写的另外一篇文章: office web apps安装部 ...
- (数据科学学习手札123)Python+Dash快速web应用开发——部署发布篇
1 简介 这是我的系列教程Python+Dash快速web应用开发的第二十期,在上一期中我介绍了利用内网穿透的方式,将任何可以联网的电脑作为"服务器"向外临时发布你的Dash应用. ...
随机推荐
- C语言面试题分类->位运算
1.不用临时变量交换两个整数. a = a ^ b; b = a ^ b; a = a ^ b; 2.实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如9的二进制是1001,则输出2. i ...
- atom编辑器安装插件报错。。
Checking for native build tools failed gyp info it worked if it ends with ok gyp info using node-gyp ...
- PAT甲级1049 Counting Ones【规律】
题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805430595731456 题意: 给定n,问0~n中,1的总个数 ...
- gitIgnore说明
有些内容不需要提交到git服务器上,这时我们可以配置.gitIgnore文件.可参考:https://www.cnblogs.com/kevingrace/p/5690241.html 可能有时候你会 ...
- 复制pdf文字出来是乱码
PDF文件复制文本为乱码 - longzhinuhou的博客 - CSDN博客 https://blog.csdn.net/longzhinuhou/article/details/83758966 ...
- std unorder_map insert 和 emplace的区别
std::unordered_map<int, int > map; map.insert(std::make_pair(, )); map.insert(std::make_pair(, ...
- 严重:one or more listeners failed. Full details will be found in the appropriate container log file
one or more listeners failed. Full details will be found in the appropriate container log file 这句话 ...
- 洛谷P4778 Counting swaps 数论
正解:数论 解题报告: 传送门! 首先考虑最终的状态是固定的,所以可以知道初始状态的每个数要去哪个地方,就可以考虑给每个数$a$连一条边,指向一个数$b$,表示$a$最后要移至$b$所在的位置 显然每 ...
- JDBCUtils相关
1.之所以使用类加载器InputStream is = JdbcUtils.class.getClassLoader().getResourceAsStream("jdbcInfo.prop ...
- 关于.net后台的异步刷新的问题
我在.net后台做了一个功能.这里我简单话的描述这个功能. 一个下拉框,然后选择其中的不同的下拉信息,下面会有不同的材料表的显示. 其中一个表中如果有必填的字段,那么你切换这个的时候,会导致下拉框不会 ...