Skip to content

安装包部署

Linux环境搭建

集中式部署

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

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

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

    • 赋予脚本执行权限

    shell
    chmod +x *.sh ./shell/*.sh
  • 上传jdk安装包到 /opt/magus/package 文件夹下

  • 搭建 jdk17 运行环境

    shell
    source ./shell/install_jdk17.sh
  • 搭建数据库

  • 搭建nacos

  • 搭建seata

    • seata服务搭建参考文档:seata官方文档
    • 启动前在seata的application.yml中指定对应的数据库及nacos地址
  • 搭建minio

  • 搭建rabbitmq

  • 搭建redis

  • 开放防火墙端口

    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
  • 搭建后端服务

    • 安装tomcat

    • 下载后端war包

    • 将war包文件放入tomcat中 webapp 目录下

    • 启动tomcat

  • 时钟同步

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

    shell
    server {
    		# 修改为auth应用的监听端口和ip
    		listen       19001;
        server_name  192.168.2.0;
    
        location / {
        		# 修改为auth应用的目录
    				root /opt/magus/ui/auth/dist;
            index index.html;
            ...
    		}
    
    		location ~* ^/(api){
    				# 修改为授权服务的ip和端口
    				proxy_pass http://192.168.2.0:11801;
    				rewrite ^/api/(.*)$ /$1 break;
    				...
    		}
    }
        
    server {
    		# 修改为主应用的监听端口和ip
    		listen       80;
        server_name  192.168.2.0;
    
    		location / {
    				# 修改为主应用的目录
    				root /opt/magus/ui/main;
            index index.html;
            ...
    		}
    
    		location ^~/system {
    				# 修改为对应微应用的目录
    				alias /opt/magus/ui/main/system/;
    				index index.html;
            try_files $uri $uri/ /system/index.html; #4.解决页面刷新404问题
    		}
    
    		location ~* ^/(api){
    				# 修改为后端网关服务的ip和端口
        		proxy_pass http://192.168.2.0:11800;
            rewrite ^/api/(.*)$ /$1 break;
            ...
    		}    
    }
  • 上传前端打包文件到ui文件夹下

    • 下载地址:版本下载
    • auth上传至ui/auth目录下
    • main上传至ui/main目录下
    • 其他服务在ui/main目录下创建对应服务的文件夹存放。如:system服务上传至 ui/main/system 目录下
  • 开放防火墙端口

    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

分布式部署

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

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

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

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

    • 赋予脚本执行权限

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

    • 下载地址:application.env

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

参数默认值备注
NACOS_HOST172.17.0.1nacos的ip【nacos服务部署的ip地址】
NACOS_PORT8848nacos的端口【nacos服务部署的端口】
NACOS_USERNAMEnacosnacos的用户名
NACOS_PASSWORDnacosnacos的密码
NACOS_NAMESPACEpublicnacos的命名空间【后端服务使用的命名空间】
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)地址
  • 上传jdk安装包到 /opt/magus/package 文件夹下

  • 搭建 jdk17 运行环境

    shell
    source ./shell/install_jdk17.sh
  • 搭建数据库

  • 搭建nacos

  • 搭建seata

    • seata服务搭建参考文档:seata官方文档
    • 启动前在seata的application.yml中指定对应的数据库及nacos地址
  • 搭建minio

  • 搭建rabbitmq

  • 搭建redis

  • 开放防火墙端口

    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
  • 下载需要部署的服务文件

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

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

    • 执行 run.sh 脚本文件
    shell
    ./shell/run.sh -j xx.jar -p 8080 -m start -m logs
    # -m|--mode 服务运行方式,支持一个或多个-m参数:start[启动] | restart[重启] | stop[停止] | log[日志]
    # -j|--jar 需要运行到jar包文件(不严格规范路径、可使用绝对路径,相对路径或只写jar包名称)
    # -p|--port 服务启动端口(可不填,不填则使用默认端口)
    • 各服务启动文件
    shell
    # 授权服务
    ./shell/run_auth.sh start logs
    # 可添加一个或多个参数,空格隔开
  • 时钟同步

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

    shell
    server {
    		# 修改为auth应用的监听端口和ip
    		listen       19001;
        server_name  192.168.2.0;
    
        location / {
        		# 修改为auth应用的目录
    				root /opt/magus/ui/auth/dist;
            index index.html;
            ...
    		}
    
    		location ~* ^/(api){
    				# 修改为授权服务的ip和端口
    				proxy_pass http://192.168.2.0:11801;
    				rewrite ^/api/(.*)$ /$1 break;
    				...
    		}
    }
        
    server {
    		# 修改为主应用的监听端口和ip
    		listen       80;
        server_name  192.168.2.0;
    
    		location / {
    				# 修改为主应用的目录
    				root /opt/magus/ui/main;
            index index.html;
            ...
    		}
    
    		location ^~/system {
    				# 修改为对应微应用的目录
    				alias /opt/magus/ui/main/system/;
    				index index.html;
            try_files $uri $uri/ /system/index.html; #4.解决页面刷新404问题
    		}
    
    		location ~* ^/(api){
    				# 修改为后端网关服务的ip和端口
        		proxy_pass http://192.168.2.0:11800;
            rewrite ^/api/(.*)$ /$1 break;
            ...
    		}    
    }
  • 上传前端打包文件到ui文件夹下

    • 下载地址:版本下载
    • auth上传至ui/auth目录下
    • main上传至ui/main目录下
    • 其他服务在ui/main目录下创建对应服务的文件夹存放。如:system服务上传至 ui/main/system 目录下
  • 开放防火墙端口

    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

Windows环境搭建

集中式部署

分布式部署