基于NGINX实现至轻云高可用部署

本文说明高可用部署的适用场景、操作步骤和关键配置,帮助用户完成环境部署与验证。

资源购买

配置:centos7.9、4核心、16GB内存

  • 服务器1:nfs共享盘服务
  • 共享磁盘:挂载到服务器1中
  • 服务器2:NGINX负载均衡服务
  • 服务器3:安装至轻云1
  • 服务器4:安装至轻云2
  • 服务器5:安装至轻云3
服务器名公网IP内网IP
服务器147.92.73.226172.16.215.85
服务器239.100.69.110172.16.215.84
服务器347.92.198.55172.16.215.86
服务器447.92.1.129172.16.215.87
服务器547.92.5.96172.16.215.83

挂载磁盘

服务器1挂载磁盘,参考文档:linux 挂载磁盘

安装nfs服务

服务器1安装nfs服务,参考文档:linux 安装nfs服务

挂载共享盘

给服务器3、服务器4、服务器5挂载服务器的共享盘,参考文档:linux 挂载共享盘

安装至轻云服务

给服务器3、服务器4、服务器5安装至轻云服务,参考文档:至轻云离线部署

修改配置文件,将资源目录指向共享盘

包含以下配置项: spring.datasource.url:数据库数据目录(使用共享盘) isx-app.resources-path:资源文件目录(使用共享盘)

vim zhiqingyun/conf/application-local.yml
server:
  port: 8080

spring:

  security:
    user:
      name: admin
      password: admin123

  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:file:/data/zhiqingyun/h2/data;AUTO_SERVER=TRUE
    username: root
    password: root1234

isx-app:
  resources-path: /data/zhiqingyun
  admin-passwd: admin123
  use-ssl: false

注意:复制数据库驱动文件到共享盘 只需要执行一次,不需要重复执行

mkdir -p /data/zhiqingyun
cp -r zhiqingyun/resources/jdbc /data/zhiqingyun/

启动项目

三台服务器都要启动至轻云服务

bash zhiqingyun/bin/start.sh

安装NGINX负载服务

给服务器2安装NGINX负载服务 参考文档:NGINX 负载均衡配置

upstream zhiqingyun_servers {
    server 172.16.215.86:8080 weight=1 max_fails=3 fail_timeout=60s;
    server 172.16.215.85:8080 weight=1 max_fails=3 fail_timeout=60s;
    # 所有节点挂掉后使用
    server 172.16.215.84:8080 backup;
}
   
server {
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://zhiqingyun_servers/;
    }
}

通过NGINX访问至轻云