一个综合的分布式项目之项目部署 原

    项目打包有很多种方式,不管是eclipse的export还是mvn的package,最终目的就是把编译后的项目丢到服务器的tomcat下。我们要部署代码到两台上游服务器和两台下游服务器,感觉比较麻烦,最好的办法是用jenkis来了自动化构建,不过现在也没资源去安装部署一台jenkis了,所以就自己写了一个shell,稍微减少一点工作量,起个名字叫reploy.sh

#! /bin/sh
p1path=/home/scc/upstream001/apache-tomcat-7.0.67
p2path=/home/scc/upstream002/apache-tomcat-7.0.67
p1webappspath=$p1path/webapps
p2webappspath=$p2path/webapps
p1binpath=$p1path/bin
p2binpath=$p2path/bin
temppath=$(pwd)
echo "备份原项目:路径"$p1webappspath"……"
cd $p1path
zip -r "webapps"-$(date +%Y%m%d'-'%H%M%S).zip webapps
echo "备份原项目:路径"$p2webappspath"……"
cd $p2path
zip -r "webapps"-$(date +%Y%m%d'-'%H%M%S).zip webapps
cd ~
echo "进入部署……"
while true;
do
	echo "输入当前目录下要部署的文件名称(如:sss.zip):"
	read filename
	if [[ $filename =~ ".zip" ]];then
			echo "文件格式验证通过"
			if [ ! -f "$temppath/$filename" ];then
				echo "未找到$temppath/$filename,请查看是否上传!确定上传后输入[Y]或[N]退出程序:"
				read isupload
				if [[ $isupload = 'Y' ]];then
						continue;
					else
						echo "程序退出"
						exit 1;
				fi
			else
				echo "文件正确!开始解压……"
				break;
			fi;
		else
			echo "格式不正确请重新输入!"
	fi;
done
zip -d $temppath/$filename *log4j.prperties
zip -d $temppath/$filename *.js
zip -d $temppath/$filename *.css
echo "解压到"$p1webappspath
unzip $temppath/$filename -d $p1webappspath -x
#unzip $temppath/$filename -d $p1webappspath -x *log4j.prperties *redisconfig.properties
echo "解压到"$p2webappspath
unzip $temppath/$filename -d $p2webappspath -x *log4j.prperties *.js *.css
#unzip $temppath/$filename -d $p2webappspath -x *log4j.prperties *redisconfig.properties
cd $p1webappspath
unzip Desktop.zip
cd $p2webappspath
unzip Desktop.zip
echo "解压完毕~!开始重启tomcat……"
cd $p1binpath;
temppath=$(pwd)
if [[ $temppath = $p1binpath ]];then 
		./shutdown.sh
		./startup.sh
		echo 'p1重启完毕……'
	else 
		echo $p1binpath"文件路径不存在"		
fi
cd $p2binpath;
temppath=$(pwd)
if [[ $temppath = $p2binpath ]];then 
		./shutdown.sh
		./startup.sh
		echo 'p2重启完毕……';
	else 
		echo $p2binpath"文件路径不存在"
fi
echo 'tomcat全部重启完毕~!';

这样只需要打包一下本地tomcat的项目,然后上传运行sh文件就可以自动部署到对应目录下了,不过发现shell结尾启动tomcat的地方有点问题,以后再调吧。对了,还要吧本地配置的host也配置到tomcat服务器上去

172.16.60.101 zookeeper.sustainable.com
172.16.60.102 redis.sustainable.com
172.16.60.103 mongo.sustainable.com
172.16.60.104 nginx.sustainable.com
172.16.60.105 tomcat-upstream.sustainable.com
172.16.60.106 tomcat-downstream.sustainable.com
172.16.60.107 gitlab.sustainable.com
172.16.60.108 activeMq.sustainable.com
172.16.60.100 mysql.sustainable.com
172.16.60.104 www.sustainable.com

同时启动zookeeper、mongo、redis、mysql、nginx。

    首先部署下游代码,将sustainable-service打包上传到服务器,执行reploy.sh然后启动tomcat

    然后部署上游代码,将sustainable-interactive打包上传到服务器,执行reploy.sh然后启动tomcat

    最后确保nginx已正确配置并启动。

    浏览器输入http://www.sustainable.com/sustainable-interactive/UserController/toLogin.do

现在清空mysql和redis以及mongo的数据,我们来注册一条数据。用户名admin,密码admin

数据添加成功,现在登录一下看看

信息无误,还可以使用dubbo的一个admin系统来查看一些服务状态等,这里就不演示了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏漫漫深度学习路

ubuntu 文件目录结构

Ubuntu(linux)文件目录结构 主目录 /bin : 包含系统应用的地方,常用的命令,ls ,rm 等等都在这。 /sbin : 包含一些只能被超级用户...

24190
来自专栏web编程技术分享

【PHP快速入门】 第一节 php开发环境的配置

这是一个简单,而且免费的PHP教程。 第一节,说一说如何安装PHP的开发环境。为了方便起见,可以直接安装xampp即可。 首先,去百度上搜索xampp,随便...

11230
来自专栏北京马哥教育

只需五步,完美利用命令行工具创建LinuxMac系统下的网站备份

创建网站备份应该是一个网站管理员最为重要的日常工作之一。但现实情况是,备份这一步往往被很多人忽略,也就是说仍然有很多网管的网站安全意识较低。 所有的Linux/...

47590
来自专栏IT米粉

hexo——轻量、简易、高逼格的博客

写blog虽然经历了N多不同时代的产品,恒久不变的始终是自己无人问津的网站。虽然没几个人看,还是隔断时间就要折腾一下。从最开始的wordpress,到tale,...

37020
来自专栏IT派

Vue + Node + Mongodb 开发一个完整博客流程

前言 前段时间刚把自己的个人网站写完, 于是这段时间因为事情不是太多,便整理了一下,写了个简易版的博客系统。 服务端用的是 koa2框架 进行开发。 技术栈 ...

57250
来自专栏kevin-blog

ubuntu下安装node版本管理工具NVM

nvm是nodejs的版本管理工具,因为nodejs编译非常麻烦,然后编译上有些又需要不同的版本,nvm就应运而生了,nvm是一个可以让你在同一台机器上安装和切...

23800
来自专栏L宝宝聊IT

MySQL主从复制与读写分离

17260
来自专栏中国白客联盟

代码审计之PhpStorm环境搭建

首先在php.ini添加debug参数,默认监听本地9000端口,记得修改其中的so路径,windows需要在https://xdebug.org/downlo...

47220
来自专栏网站那些事

PageGuard.js 防止网站内容复制和检测开发者工具代码

检测开发者工具的话,整合了各种较新的方法,经测试是支持 Chrome (包括单独窗口打开的情况)和 Firefox (在单独窗口打开时,只有打开控制台时才能检测...

589210
来自专栏魏艾斯博客www.vpsss.net

WordPress 手动升级更新方法

43840

扫码关注云+社区

领取腾讯云代金券