Appearance
docker 部署
基础服务信息
服务 | 主端口 | 补充端口 | 账户 |
---|---|---|---|
mysql | 3306 | root / password | |
nacos | 8848 | 9848|9849 | nacos / nacos |
seata | 8091 | 7091 | seata / seata |
redis | 6379 | ||
rabbitmq | 15672 | 5672 | guest / guest | magus / magus |
minio | 9090 | 9000 | root / 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 文件夹下
赋予脚本执行权限
shellchmod +x *.sh ./shell/*.sh
下载环境变量文件application.env,上传到 /opt/magus/config 文件夹下
下载地址:application.env
修改 application.env 文件中的下述环境变量参数。
参数 | 默认值 | 备注 |
---|---|---|
MYSQL_ROOT_PASSWORD | password | mysql数据库的密码【安装mysql数据库时使用】 |
MINIO_ROOT_PASSWORD | password | minio的密码【安装minio时使用】 |
SPRING_DATASOURCE_PLATFORM | mysql | - |
MYSQL_SERVICE_HOST | 172.17.0.1 | nacos的mysql数据库地址 |
MYSQL_SERVICE_PORT | 3306 | nacos的mysql数据库端口 |
MYSQL_SERVICE_USER | root | nacos的mysql数据库用户名 |
MYSQL_SERVICE_PASSWORD | password | nacos的mysql数据库密码 |
MYSQL_SERVICE_DB_NAME | magus_nacos | nacos的mysql数据库库名 |
NACOS_AUTH_ENABLE | true | 是否开启权限校验 |
NACOS_AUTH_IDENTITY_KEY | nacos | nacos用户名 |
NACOS_AUTH_IDENTITY_VALUE | nacos | nacos密码 |
NACOS_AUTH_TOKEN | SecretKe*** | nacos密码加密密钥 |
SEATA_IP | 172.17.0.1 | seata服务的访问ip【seata服务部署的ip地址】 |
NACOS_HOST | 172.17.0.1 | nacos的ip【nacos服务部署的ip地址】 |
NACOS_PORT | 8848 | nacos的端口【nacos服务部署的端口】 |
NACOS_USERNAME | nacos | nacos的用户名 |
NACOS_PASSWORD | nacos | 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)地址 |
下载mysql脚本文件,上传到 /opt/magus/script 文件夹下,安装mysql时需要使用此脚本文件初始化数据库
- 下载地址【按需下载即可】:
- 单库初始化脚本:magus-mysql-alone.sql
- 分库初始化脚本:magus-mysql-subbranch.sql
- 下载地址【按需下载即可】:
下载redis配置文件redis.conf,上传到 /opt/magus/config/redis 文件夹下
- 下载地址:redis.conf
下载seata配置文件application.yml,上传到 /opt/magus/config/seata 文件夹下
下载地址:application.yml
修改application.yml文件中的配置内容
修改项 | 备注 | 默认值 |
---|---|---|
NACOS_HOST | nacos地址 | 172.17.0.1 |
NACOS_PORT | nacos端口 | 8848 |
SEATA_NACOS_NAMESPACE | nacos的命名空间 | public |
SEATA_NACOS_GROUP | nacos的分组 | SEATA_GROUP |
NACOS_USERNAME | nacos的用户名 | nacos |
NACOS_PASSWORD | nacos的密码 | nacos |
SEATA_MYSQL_HOST | mysql数据库地址 | 172.17.0.1 |
SEATA_MYSQL_PORT | mysql数据库端口 | 3306 |
SEATA_MYSQL_NAME | mysql数据库库名 | magus_seata |
SEATA_MYSQL_USER | mysql数据库用户名 | root |
SEATA_MYSQL_PASSWORD | mysql数据库密码 | password |
上传jdk安装包到 /opt/magus/package 文件夹下
- 下载地址:jdk安装包
上传docker安装包到 /opt/magus/package 文件夹下
- 下载地址:docker安装包
选择搭建环境所需的tar包文件上传tar文件夹下
执行 install_all.sh 脚本文件
shellsource ./install_all.sh # install_mysql.sh脚本执行时会提示需要安装mysql的方式。a: 单库 s: 分库 根据需要选择输入对应的值即可
若已有mysql数据库,可选择跳过 install_mysql.sh 脚本执行,在已有的数据库中执行初始化sql脚本:
- 单库初始化脚本:magus-mysql-alone.sql
- 分库初始化脚本:magus-mysql-subbranch.sql
若已有nacos环境,可选择跳过 install_nacos.sh 脚本执行,在已有的nacos环境中上传配置文件:
- 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服务所在服务器需要做时钟同步,保证时间一致