Appearance
安装包部署
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 文件夹下
赋予脚本执行权限
shellchmod +x *.sh ./shell/*.sh
上传jdk安装包到 /opt/magus/package 文件夹下
- 下载地址:jdk安装包
搭建 jdk17 运行环境
shellsource ./shell/install_jdk17.sh
搭建数据库
- 单库初始化脚本:magus-mysql-alone.sql
- 分库初始化脚本:magus-mysql-subbranch.sql
搭建nacos
搭建seata
- seata服务搭建参考文档:seata官方文档
- 启动前在seata的application.yml中指定对应的数据库及nacos地址
搭建minio
- minio服务搭建参考文档:minio官方文档
搭建rabbitmq
- rabbitmq服务搭建参考文档:rabbitmq官方文档
搭建redis
- redis服务搭建参考文档: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服务所在服务器需要做时钟同步,保证时间一致
搭建前端服务
- 安装nginx
- 上传并修改nginx配置文件。下载地址:nginx配置文件
shellserver { # 修改为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 文件夹下
赋予脚本执行权限
shellchmod +x *.sh ./shell/*.sh
下载环境变量文件,上传到 /opt/magus/config 文件夹下。下载地址:
下载地址:application.env
修改 application.env 文件中的下属环境变量参数。
参数 | 默认值 | 备注 |
---|---|---|
NACOS_HOST | 172.17.0.1 | nacos的ip【nacos服务部署的ip地址】 |
NACOS_PORT | 8848 | nacos的端口【nacos服务部署的端口】 |
NACOS_USERNAME | nacos | nacos的用户名 |
NACOS_PASSWORD | nacos | nacos的密码 |
NACOS_NAMESPACE | public | nacos的命名空间【后端服务使用的命名空间】 |
MYSQL_HOST | 127.0.0.1 | 数据库IP |
MYSQL_PORT | 3306 | 数据库端口 |
MYSQL_USER | root | 数据库用户名 |
MYSQL_PASSWORD | password | 数据库密码 |
MASTER_DATABASE | magus_master | 数据库主库名称 |
PROCESS_DATABASE | magus_process | 数据库流程库名称 |
REDIS_HOST | 127.0.0.1 | redis地址 |
REDIS_PORT | 6379 | redis端口 |
MINIO_HOST | 127.0.0.1 | minio地址 |
MINIO_PORT | 9000 | minio端口 |
MINIO_USER | root | minio用户名 |
MINIO_PASSWORD | password | minio密码 |
RABBITMQ_HOST | 127.0.0.1 | rabbitmq地址 |
RABBITMQ_PORT | 5672 | rabbitmq端口 |
RABBITMQ_USER | magus | rabbitmq用户名 |
RABBITMQ_PASSWORD | magus | rabbitmq密码 |
RABBITMQ_VH | / | rabbitmq空间 |
SERVER_HOST | 192.168.2.0:11800 | 后端网关服务(gateway)地址 |
AUTH_SERVER_HOST | 192.168.2.0:11801 | 后端授权服务(auth)地址 |
MAIN_UI_HOST | 192.168.2.0:80 | 前端主应用(main-ui)地址 |
AUTH_UI_HOST | 192.168.2.0:11901 | 前端授权应用(auth-ui)地址 |
上传jdk安装包到 /opt/magus/package 文件夹下
- 下载地址:jdk安装包
搭建 jdk17 运行环境
shellsource ./shell/install_jdk17.sh
搭建数据库
- 单库初始化脚本:magus-mysql-alone.sql
- 分库初始化脚本:magus-mysql-subbranch.sql
搭建nacos
搭建seata
- seata服务搭建参考文档:seata官方文档
- 启动前在seata的application.yml中指定对应的数据库及nacos地址
搭建minio
- minio服务搭建参考文档:minio官方文档
搭建rabbitmq
- rabbitmq服务搭建参考文档:rabbitmq官方文档
搭建redis
- redis服务搭建参考文档:redis官方文档
- 替换redis的配置文件:redis.conf
开放防火墙端口
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
安装nginx
上传并修改nginx配置文件。下载地址:nginx配置文件
shellserver { # 修改为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