Skip to content

docker部署

基础服务信息

服务主端口补充端口账户
mysql3306root / password
nacos88489848|9849nacos / nacos
seata80917091seata / seata
redis6379
rabbitmq156725672guest / guest | magus / magus
minio90909000root / password

Linux环境搭建

  • 完整的环境搭建资源:docker环境搭建 【可直接下载此压缩包上传至安装目录下解压使用,也可以根据下述文档中选择所需文件下载】

  • 建议安装目录:/opt/magus【安装目录可修改,默认将按照脚本文件所在文件夹创建目录】

    • 安装包目录:/opt/magus/package
    • 脚本文件目录:/opt/magus/shell
    • 配置文件目录:/opt/magus/config
    • 脚本文件目录:/opt/magus/script
    • 数据备份目录:/opt/magus/data
    • 日志存放目录:/opt/magus/logs
    • jar包目录:/opt/magus/jar
    • tar包目录:/opt/magus/tar
  • 准备安装脚本:shell脚本文件

    • 将脚本文件解压到 /opt/magus 文件夹下

    • 赋予脚本执行权限

    shell
    chmod +x *.sh ./shell/*.sh
  • 下载环境变量文件application.env,上传到 /opt/magus/config 文件夹下

    • 下载地址:application.env

    • 修改 application.env 文件中的下述环境变量参数。

参数默认值备注
MYSQL_ROOT_PASSWORDpasswordmysql数据库的密码【安装mysql数据库时使用】
MINIO_ROOT_PASSWORDpasswordminio的密码【安装minio时使用】
SPRING_DATASOURCE_PLATFORMmysql-
MYSQL_SERVICE_HOST172.17.0.1nacos的mysql数据库地址
MYSQL_SERVICE_PORT3306nacos的mysql数据库端口
MYSQL_SERVICE_USERrootnacos的mysql数据库用户名
MYSQL_SERVICE_PASSWORDpasswordnacos的mysql数据库密码
MYSQL_SERVICE_DB_NAMEmagus_nacosnacos的mysql数据库库名
NACOS_AUTH_ENABLEtrue是否开启权限校验
NACOS_AUTH_IDENTITY_KEYnacosnacos用户名
NACOS_AUTH_IDENTITY_VALUEnacosnacos密码
NACOS_AUTH_TOKENSecretKe***nacos密码加密密钥
SEATA_IP172.17.0.1seata服务的访问ip【seata服务部署的ip地址】
NACOS_HOST172.17.0.1nacos的ip【nacos服务部署的ip地址】
NACOS_PORT8848nacos的端口【nacos服务部署的端口】
NACOS_USERNAMEnacosnacos的用户名
NACOS_PASSWORDnacosnacos的密码
MYSQL_HOST127.0.0.1数据库IP
MYSQL_PORT3306数据库端口
MYSQL_USERroot数据库用户名
MYSQL_PASSWORDpassword数据库密码
MASTER_DATABASEmagus_master数据库主库名称
PROCESS_DATABASEmagus_process数据库流程库名称
REDIS_HOST127.0.0.1redis地址
REDIS_PORT6379redis端口
MINIO_HOST127.0.0.1minio地址
MINIO_PORT9000minio端口
MINIO_USERrootminio用户名
MINIO_PASSWORDpasswordminio密码
RABBITMQ_HOST127.0.0.1rabbitmq地址
RABBITMQ_PORT5672rabbitmq端口
RABBITMQ_USERmagusrabbitmq用户名
RABBITMQ_PASSWORDmagusrabbitmq密码
RABBITMQ_VH/rabbitmq空间
SERVER_HOST192.168.2.0:11800后端网关服务(gateway)地址
AUTH_SERVER_HOST192.168.2.0:11801后端授权服务(auth)地址
MAIN_UI_HOST192.168.2.0:80前端主应用(main-ui)地址
AUTH_UI_HOST192.168.2.0:11901前端授权应用(auth-ui)地址
  • 下载mysql脚本文件,上传到 /opt/magus/script 文件夹下,安装mysql时需要使用此脚本文件初始化数据库

  • 下载redis配置文件redis.conf,上传到 /opt/magus/config/redis 文件夹下

  • 下载seata配置文件application.yml,上传到 /opt/magus/config/seata 文件夹下

    • 下载地址:application.yml

    • 修改application.yml文件中的配置内容

修改项备注默认值
NACOS_HOSTnacos地址172.17.0.1
NACOS_PORTnacos端口8848
SEATA_NACOS_NAMESPACEnacos的命名空间public
SEATA_NACOS_GROUPnacos的分组SEATA_GROUP
NACOS_USERNAMEnacos的用户名nacos
NACOS_PASSWORDnacos的密码nacos
SEATA_MYSQL_HOSTmysql数据库地址172.17.0.1
SEATA_MYSQL_PORTmysql数据库端口3306
SEATA_MYSQL_NAMEmysql数据库库名magus_seata
SEATA_MYSQL_USERmysql数据库用户名root
SEATA_MYSQL_PASSWORDmysql数据库密码password
  • 上传jdk安装包到 /opt/magus/package 文件夹下

  • 上传docker安装包到 /opt/magus/package 文件夹下

  • 选择搭建环境所需的tar包文件上传tar文件夹下

  • 执行 install_all.sh 脚本文件

    shell
    source ./install_all.sh
    # install_mysql.sh脚本执行时会提示需要安装mysql的方式。a: 单库  s: 分库  根据需要选择输入对应的值即可
    • 若已有mysql数据库,可选择跳过 install_mysql.sh 脚本执行,在已有的数据库中执行初始化sql脚本:

    • 若已有nacos环境,可选择跳过 install_nacos.sh 脚本执行,在已有的nacos环境中上传配置文件:

    • 其他服务同理,若不需要可选择跳过对应的脚本

    • 也可以按照需要选择shell文件夹下对应的install_*.sh脚本执行安装

    shell
    # 仅执行安装jdk脚本
    source ./shell/install_jdk17.sh
    # 仅执行安装docker脚本
    ./shell/install_docker.sh
    ...
  • 开放防火墙端口

    shell
    # 添加中间件端口,请根据现场实际端口修改
    firewall-cmd --zone=public --add-port=3306/tcp --add-port=8848/tcp --add-port=15672/tcp --add-port=8091/tcp --add-port=6379/tcp --add-port=9090/tcp --permanent
    # 重载端口
    firewall-cmd --reload
  • 修改public命名空间中配置文件的内容。修改参考:开发手册

  • 下载需要部署的服务文件

    • 下载地址:版本下载
    • 下载完成后上传至tar文件夹下
  • 初次安装可直接执行 run_all.sh 脚本文件

    shell
    # 启动所有的后端服务
    ./run_all_server.sh
    # 启动所有的后端服务,省略确认执行步骤
    ./run_all_server.sh -y
    # 启动所有的前端服务
    ./run_all_ui.sh
    # 启动所有的前端服务,省略确认执行步骤
    ./run_all_ui.sh -y
  • 单独启动某个服务时,可选择如下执行方式:

    • 执行 run.sh 脚本文件
    shell
    # 以下命令,根据实际情况选择执行
    
    ./shell/run.sh -t xx.tar -p 80 -m start -m logs
    # -m|--mode 服务运行方式,支持一个或多个-m参数:start[启动] | restart[重启] | stop[停止] | log[日志]
    # -t|--tar 需要运行的tar包文件(包含路径)
    # -p|--port 容器映射端口
    # -cp|--cport 服务端口(可不填,不填则默认使用容器映射端口)
    
    ./shell/run.sh -i xx:v.xx -p 80 -m start
    # -m|--mode 服务运行方式,支持一个或多个-m参数:start[启动] | restart[重启] | stop[停止] | log[日志]
    # -i|--image 需要运行的镜像
    # -p|--port 容器映射端口
    # -cp|--cport 服务端口(可不填,不填则默认使用容器映射端口)
    • 直接执行各服务启动文件,需在 tar 文件夹下具备对应的 tar包文件
    shell
    # 主应用前端
    ./shell/run_main_ui.sh start
    # 网关服务
    ./shell/run_gateway.sh start logs
    # 可添加一个或多个参数,空格隔开
  • 开放防火墙端口

    shell
    # 添加后端服务端口,请根据现场实际端口修改
    firewall-cmd --zone=public --add-port=18000/tcp --add-port=18001/tcp --permanent
    # 添加前端服务端口,请根据现场实际端口修改
    firewall-cmd --zone=public --add-port=80/tcp --add-port=19001/tcp --add-port=19003/tcp --add-port=19004/tcp --add-port=19005/tcp --add-port=19006/tcp --add-port=19100/tcp --add-port=19200/tcp --permanent
    # 重载端口
    firewall-cmd --reload
  • 时钟同步

    • auth服务所在服务器与gateway服务所在服务器需要做时钟同步,保证时间一致

Windows环境搭建