前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个综合的分布式项目之项目部署 原

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

作者头像
尚浩宇
发布2018-08-17 10:29:12
2890
发布2018-08-17 10:29:12
举报
文章被收录于专栏:杂烩杂烩

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

代码语言:javascript
复制
#! /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服务器上去

代码语言:javascript
复制
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系统来查看一些服务状态等,这里就不演示了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016/01/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档