简易版支付系统部署(单节点)

简易版支付系统部署(单节点)_第1张图片

一、前期准备

1、MySQL数据库的安装:MySQL-5.6.22,自行安装

2、Dubbo视频教程--基础篇--第03节--ZooKeeper注册中心安装

3、Dubbo视频教程--基础篇--第06节--Dubbo管理控制台的安装

4、Dubbo视频教程--基础篇--第10节--Dubbo监控中心的介绍与简易监控中心的安装

5、持续集成管理平台(SVN、Nexus、Maven、Hudson)的安装:

Dubbo视频教程--基础篇--第11节至18节

6、Dubbo视频教程--高级篇--第21节--ActiveMQ的安装与使用

7、Dubbo视频教程--高级篇--第22节--Redis的安装与使用

8、Dubbo视频教程--高级篇--第23节--FastDFS分布式文件系统的安装与使用

二、对部署环境进行规划

简易版支付系统部署(单节点)_第2张图片

创建数据库

数据库编码为:UTF-8

数据库引擎为:InnoDB

导入“基于Dubbo的分布式系统架构视频教程--简易版支付系统源码.rar”中的

“数据库--edu_simple_pay.rar”中的“edu_simple_pay.sql”

调整公共配置文件

简易版支付系统部署(单节点)_第3张图片

应用部署前期准备

1、common工程构建、发布到Maven私有库

简易版支付系统部署(单节点)_第4张图片

尤其注意pay-common-config工程的构建(配置文件修改后需要重新构建,引用处也要重新构建)

2、facade工程构建、发布到Maven私有库

简易版支付系统部署(单节点)_第5张图片

部署服务

1、规划好服务部署目录,准备好服务管理脚本

简易版支付系统部署(单节点)_第6张图片

/home/wusc/edu/service/account/service-account.sh

#!/bin/sh

## java env

exportJAVA_HOME=/usr/local/java/jdk1.7.0_72

exportJRE_HOME=$JAVA_HOME/jre

## you justneed to change this param name

APP_NAME=account

SERVICE_DIR=/home/wusc/edu/service/$APP_NAME

SERVICE_NAME=pay-service-$APP_NAME

JAR_NAME=$SERVICE_NAME\.jar

PID=$SERVICE_NAME\.pid

cd $SERVICE_DIR

case"$1" in

start)

nohup $JRE_HOME/bin/java -Xms128m-Xmx512m -jar $JAR_NAME >/dev/null 2>&1 &

echo $! > $SERVICE_DIR/$PID

echo "=== start$SERVICE_NAME"

;;

stop)

kill `cat $SERVICE_DIR/$PID`

rm -rf $SERVICE_DIR/$PID

echo "=== stop $SERVICE_NAME"

sleep 5

P_ID=`ps -ef | grep -w "$SERVICE_NAME"| grep -v "grep" | awk '{print $2}'`

if [ "$P_ID" == ""]; then

echo "=== $SERVICE_NAMEprocess not exists or stop success"

else

echo "=== $SERVICE_NAMEprocess pid is:$P_ID"

echo "=== begin kill$SERVICE_NAME process, pid is:$P_ID"

kill -9 $P_ID

fi

;;

restart)

$0 stop

sleep 2

$0 start

echo "=== restart$SERVICE_NAME"

;;

*)

## restart

$0 stop

sleep 2

$0 start

;;

esac

exit 0

2、使用Hudson来自动化部署服务

简易版支付系统部署(单节点)_第7张图片

3、通过Dubbo管控台检查各服务是否都部署成功

简易版支付系统部署(单节点)_第8张图片

部署Web应用

1、规划好Web应用部署目录、端口、脚本

简易版支付系统部署(单节点)_第9张图片

bank-receive-tomcat8081

boss-tomcat8082

gateway-tomcat8083

notify-receive-tomcat8084

portal-tomcat8085

shop-tomcat8086

trade-tomcat8087

/home/wusc/edu/web/bank-receive-tomcat/restart.sh

## java env

exportJAVA_HOME=/usr/local/java/jdk1.7.0_72

exportJRE_HOME=$JAVA_HOME/jre

## restarttomcat

current_dir=$(cd`dirname $0`; pwd)

echo "===current_dir is:$current_dir"

$current_dir/bin/shutdown.sh

sleep 3

rm -rf

$current_dir/webapps/*/

sleep 2

$current_dir/bin/startup.sh

部署APP

简易版支付系统部署(单节点)_第10张图片

/home/wusc/edu/app/queue-notify/app-queue-notify.sh

#!/bin/sh

## java env

exportJAVA_HOME=/usr/local/java/jdk1.7.0_72

exportJRE_HOME=$JAVA_HOME/jre

## you onlyneed to change next two parameters value

APP_DIR=/home/wusc/edu/app/queue-notify

APP_NAME=pay-app-queue-notify

JAR_NAME=$APP_NAME\.jar

cd $APP_DIR

## check appprocess weather exists

process=`ps aux| grep -w "$APP_NAME" | grep -v grep`

if ["$process" == "" ]; then

echo "=== $APP_NAME process notexists"

else

echo "=== $APP_NAME processexists"

echo "=== $APP_NAME process is :$process"

## get PID by process name

P_ID=`ps -ef | grep -w"$APP_NAME" | grep -v "grep" | awk '{print $2}'`

echo "=== $APP_NAME process PIDis:$P_ID"

echo "=== begin kill $APP_NAMEprocess"

kill $P_ID

sleep 3

P_ID=`ps -ef | grep -w"$APP_NAME" | grep -v "grep" | awk '{print $2}'`

if [ "$P_ID" == "" ];then

echo "=== $APP_NAME process stopsuccess"

else

echo "=== $APP_NAME process killfailed, PID is:$P_ID"

echo "=== begin kill -9 $APP_NAMEprocess, PID is:$P_ID"

sleep 3

kill -9 $P_ID

fi

fi

sleep 2

echo "===begin start $APP_NAME"

$JRE_HOME/bin/java-Xms128m -Xmx512m -jar $APP_DIR/$JAR_NAME >/dev/null 2>&1 &

部署定时任务

定时任务的部署与调用分离

简易版支付系统部署(单节点)_第11张图片
简易版支付系统部署(单节点)_第12张图片

/home/wusc/edu/timer/report/timer-report.sh

#!/bin/sh

## java env

exportJAVA_HOME=/usr/local/java/jdk1.7.0_72

exportJRE_HOME=$JAVA_HOME/jre

## you onlyneed to chage next two line value

SERVICE_DIR=/home/wusc/edu/timer/report

APP_NAME=pay-timer-report

JAR_NAME=$APP_NAME\.jar

sleep 1

echo "===invoke task, please wait"

$JRE_HOME/bin/java-jar $SERVICE_DIR/$JAR_NAME >/dev/null 2>&1 &

## untilprocess stop to print log

while true

do

process=`ps aux | grep $APP_NAME | grep -vgrep`;

if [ "$process" == "" ];then

sleep 1;

echo "=== task complete";

sleep 3;

break;

else

echo "=== process is running,please wait";

sleep 10;

continue;

fi

done

教程视频资源:http://www.roncoo.com

简易版支付系统部署(单节点)_第13张图片
关注公众号



o�߼��,

你可能感兴趣的:(简易版支付系统部署(单节点))