一個綜合的分佈式項目之項目部署

    項目打包有不少種方式,無論是eclipse的export仍是mvn的package,最終目的就是把編譯後的項目丟到服務器的tomcat下。咱們要部署代碼到兩臺上游服務器和兩臺下游服務器,感受比較麻煩,最好的辦法是用jenkis來了自動化構建,不過如今也沒資源去安裝部署一臺jenkis了,因此就本身寫了一個shell,稍微減小一點工做量,起個名字叫reploy.shcss

#! /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服務器上去java

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。mysql

    首先部署下游代碼,將sustainable-service打包上傳到服務器,執行reploy.sh而後啓動tomcatnginx

    而後部署上游代碼,將sustainable-interactive打包上傳到服務器,執行reploy.sh而後啓動tomcatgit

    最後確保nginx已正確配置並啓動。
web

    瀏覽器輸入http://www.sustainable.com/sustainable-interactive/UserController/toLogin.do redis

如今清空mysql和redis以及mongo的數據,咱們來註冊一條數據。用戶名admin,密碼adminsql

數據添加成功,如今登陸一下看看
shell

信息無誤,還可使用dubbo的一個admin系統來查看一些服務狀態等,這裏就不演示了。
apache

相關文章
相關標籤/搜索