全流程开发 | 高并发电商服务系统 | 前后端联调 过程文档

立志是事业的大门,工作是登门入室的的旅途。——巴斯德

后台服务部署好,结果如下:
在这里插入图片描述

yapi 测试 web 接口符合我们的预期设计:
比如查看订单列表:
在这里插入图片描述

在前后端联调完毕时,后续用 jenkins 结合 shell 脚本 来 自动部署:
在这里插入图片描述

好,下面就是记录简要的步骤及命令:
前台用到的命令:

# 安装依赖
cnpm    install 
# 运行项目,暴露 http 接口
cnpm    run dev
# 打包成 dist 文件夹 - index.html
cnpm run build

nginx 中部署 vue.js 步骤如下:
事先从可运行的 nginx 容器中拷贝 对应的文件到宿主机:
在这里插入图片描述

在宿主机运行以下命令:
当前位置:
在这里插入图片描述

docker cp nginx:/etc/nginx /docker/nginx/config/ 
docker cp nginx:/usr/share/nginx/html /docker/nginx/data/
docker cp nginx:/var/log/nginx /docker/nginx/logs/

然后接着执行:

docker run --name nginx-online -p 8765:80  -v /docker/nginx/config/nginx/:/etc/nginx -v /docker/nginx/data/online-html:/usr/share/nginx/html -v /docker/nginx/logs/:/var/log/nginx -d nginx:latest

docker run --name nginx-mall -p 8090:80 -v /docker/nginx/config/nginx/:/etc/nginx  -v /docker/nginx/data/mall-html:/usr/share/nginx/html -v /docker/nginx/logs/:/var/log/nginx -d nginx:latest

效果图:【图片中8090->8001不对,正确的是8090->80,上方的命令是正确的已修改,请放心使用】
在这里插入图片描述
然后就是将 online 项目下的 dist 下的3个文件 拷贝到 /docker/nginx/data/online-html,此时加上50x.html共四个文件;
然后将 mall 项目下的 dist 下的3个文件 拷贝到 /docker/nginx/data/mall-html,此时加上50x.html共四个文件。
访问效果:
前台:
在这里插入图片描述
后台管理系统:
在这里插入图片描述
支付宝支付:(支付宝沙箱环境不稳定,所以有时候订单会创建不了)
【如果谷歌浏览器测试支付没反应的话,就换火狐浏览器试试 / 360浏览器试试】
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

个人中心也可以查看订单已支付:
在这里插入图片描述

后台部署的 docker 相关的命令 及 文件 整理好后会 补上 的~
开始补坑:
部署目录架构:
在这里插入图片描述
接下来逐步部署的命令:
对于 srv 层部署:

cd ~

cd /root/renrenshop/renrenshop-srvs/ && cd goods_srv/ && mkdir target && cd target && mkdir goods_srv

cd /root/renrenshop/renrenshop-srvs/ && cd order_srv/ && mkdir target && cd target && mkdir order_srv 

cd /root/renrenshop/renrenshop-srvs/ && cd inventory_srv/ && mkdir target && cd target && mkdir inventory_srv

cd /root/renrenshop/renrenshop-srvs/ && cd userop_srv/ && mkdir target && cd target && mkdir userop_srv

cd /root/renrenshop/renrenshop-srvs/ && cd user_srv && mkdir target && cd target && mkdir user_srv

######》 确保config-debug.yaml 和 config-pro.yaml 配置没问题 才能开始下一步《======

cd /root/renrenshop/renrenshop-srvs/

go build -o goods_srv/target/goods_srv_main goods_srv/main.go
go build -o order_srv/target/order_srv_main order_srv/main.go
go build -o inventory_srv/target/inventory_srv_main inventory_srv/main.go

go build -o userop_srv/target/userop_srv_main userop_srv/main.go
go build -o user_srv/target/user_srv_main user_srv/main.go

cp goods_srv/config-debug.yaml   goods_srv/target/goods_srv/
cp goods_srv/config-pro.yaml   goods_srv/target/goods_srv/
cp goods_srv/start.sh   goods_srv/target/

cp order_srv/config-debug.yaml   order_srv/target/order_srv/
cp order_srv/config-pro.yaml order_srv/target/order_srv/
cp order_srv/start.sh order_srv/target/

cp inventory_srv/config-debug.yaml   inventory_srv/target/inventory_srv/
cp inventory_srv/config-pro.yaml  inventory_srv/target/inventory_srv/
cp inventory_srv/start.sh  inventory_srv/target/

cp  userop_srv/config-debug.yaml   userop_srv/target/userop_srv/
cp  userop_srv/config-pro.yaml  userop_srv/target/userop_srv/
cp  userop_srv/start.sh  userop_srv/target/

cp user_srv/config-debug.yaml   user_srv/target/user_srv/
cp user_srv/config-pro.yaml user_srv/target/user_srv/
cp user_srv/start.sh user_srv/target/

# 你可能看不到这行 - 可能用到的命令
chmod +x start.sh
dos2unix start.sh
./start.sh 

对于 web 层部署:

cd ~

cd /root/renrenshop/renrenshop-apis/ && cd goods-web/ && mkdir target && cd target && mkdir goods-web 

cd /root/renrenshop/renrenshop-apis/ && cd order-web/ && mkdir target && cd target && mkdir order-web 

cd /root/renrenshop/renrenshop-apis/ && cd oss-web/ && mkdir target && cd target && mkdir oss-web 

cd /root/renrenshop/renrenshop-apis/ && cd userop-web/ && mkdir target && cd target && mkdir userop-web 

cd /root/renrenshop/renrenshop-apis/ && cd user-web/ && mkdir target && cd target && mkdir user-web 

######》 确保config-debug.yaml 和 config-pro.yaml 配置没问题 才能开始下一步《======

cd /root/renrenshop/renrenshop-apis/

go build -o goods-web/target/goods_web_main goods-web/main.go
go build -o order-web/target/order_web_main order-web/main.go
go build -o oss-web/target/oss_web_main oss-web/main.go
go build -o userop-web/target/userop_web_main userop-web/main.go
go build -o user-web/target/user_web_main user-web/main.go


cp goods-web/config-debug.yaml   goods-web/target/goods-web/
cp goods-web/config-pro.yaml   goods-web/target/goods-web/
cp goods-web/start.sh   goods-web/target/

cp order-web/config-debug.yaml   order-web/target/order-web/
cp order-web/config-pro.yaml order-web/target/order-web/
cp order-web/start.sh  order-web/target/

cp oss-web/config-debug.yaml   oss-web/target/oss-web/
cp oss-web/config-pro.yaml  oss-web/target/oss-web/
cp oss-web/start.sh  oss-web/target/

cp  userop-web/config-debug.yaml   userop-web/target/userop-web/
cp  userop-web/config-pro.yaml  userop-web/target/userop-web/
cp  userop-web/start.sh  userop-web/target/

cp user-web/config-debug.yaml   user-web/target/user-web/
cp user-web/config-pro.yaml user-web/target/user-web/
cp user-web/start.sh user-web/target/

# 你可能看不到这行 - 可能用到的命令
chmod +x start.sh
dos2unix start.sh
./start.sh 

形如 goods-web/start.sh 写法:

srv_name="goods_web_main"
chmod +x ./$srv_name
#重启,如果已经存在则关闭重启
if pgrep -x $srv_name > /dev/null
then
  echo "${srv_name} is running"
  echo "shutting down ${srv_name}"
  if ps -a | grep $srv_name | awk '{print $1}' | xargs kill $1
    then
      echo "starting ${srv_name}"
      ./$srv_name > /dev/null 2>&1 &
      echo "start ${srv_name} success"
  fi
else
	echo "starting ${srv_name}"
  ./$srv_name > /dev/null 2>&1 &
  echo "start ${srv_name} success"
fi

猜你喜欢

转载自blog.csdn.net/YJG7D314/article/details/125509656