# 部署运行
# 传统部署
# 单体版
# 安装
将与服务器架构一致的单体版包放到服务器的某一目录。
# 调整参数
复制 config/application.example.properties 文件并命名为 application.properties,修改里面的服务端口和数据源等信息。
如果某项配置为中文,可额外通过application.yml文件进行补充配置
# 启动运行
# win-x86_64启动
bin/startup.bat
# linx-x86_64启动
bin/startup.sh
# linx-x86_64停止
bin/shutdown.sh
# 访问应用
http://{HOST_IP}:{APP_PORT} (opens new window)
{HOST_IP}为应用所在主机的IP,{APP_PORT}为应用端口
# 微服务版
因微服务版涉及到服务较多,不推荐采用传统方式进行部署,建议采用容器部署方式(Docker Compose或Kubernetes)
# 安装前提
- redis【必须】
- mysql【必须】
- nacos【必须】
- sentinel【可选】
# 安装
将与服务器架构一致的微服务版包放到服务器的某一目录,并配置微服务版应用所在主机本地hosts:
127.0.0.1 mapgis-xxx-mysql
127.0.0.1 mapgis-xxx-redis
127.0.0.1 mapgis-xxx-nacos
127.0.0.1 mapgis-xxx-sentinel
127.0.0.1 mapgis-xxx-gateway
# 调整参数
微服务版配置在配置中心nacos中,需要进入到nacos中进行调整,比如:redis密码、mysql数据源信息等
# 启动运行
# win-x86_64启动
bin/startup.bat
# linx-x86_64启动
bin/startup.sh
# linx-x86_64停止
bin/shutdown.sh
# 访问应用
http://{HOST_IP}:{GATEWAY_PUBLIC_PORT} (opens new window)
{HOST_IP}为应用所在主机的IP,{GATEWAY_PUBLIC_PORT}为应用端口
# Docker Compose部署
# 安装Docker和Docker Compose
安装Docker
# 使用daocloud 的一键安装脚本
curl -sSL https://get.daocloud.io/docker | sh
# 安装 daocloud 加速器,避免dockerhub 网络问题
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
# 启动docker服务
systemctl start docker
# 测试运行 hello-world,由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
docker run hello-world
# 查看Docker版本
docker --version
安装Docker Compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 配置私有镜像仓库
目前MapGIS Boot已上传到私有镜像仓库192.168.177.1:5000,需要配置Docker
# 编辑
vi /etc/docker/daemon.json
# 添加私有仓库地址
{
"registry-mirrors": ["加速地址"],
"insecure-registries": ["192.168.177.1:5000"]
}
# 生效
systemctl daemon-reload
systemctl restart docker
# 单体版
# 安装
将Docker版的包放到linux服务器的某一目录,如:/opt
,进入应用根目录,执行以下命令,进行安装:
sudo chmod +x install.sh && sudo ./install.sh
# 调整参数
编辑.env
,根据需要修改相关参数,运行sudo vi .env
# 私有镜像仓库地址,注意结尾需含/,默认为空
DOCKER_REGISTRY_URL=
# 镜像标签
MAPGIS_IMAGE_TAG=10.6.6.10
# 应用端口
MAPGIS_APP_PORT=8080
# 启动运行
# 启动
sudo ./startup.sh
# 停止
sudo ./shutdown.sh
# 访问应用
http://{DOCKER_HOST_IP}:{MAPGIS_APP_PORT} (opens new window)
{DOCKER_HOST_IP}为Docker宿主机的IP,{MAPGIS_APP_PORT}为应用端口
# 微服务版
# 安装
将Docker版的包放到linux服务器的某一目录,如:/opt
,进入应用根目录,执行以下命令,进行安装:
sudo chmod +x install.sh && sudo ./install.sh
# 调整参数
编辑.env
,根据需要修改相关参数,运行sudo vi .env
# 私有镜像仓库地址,注意结尾需含/,默认为空
DOCKER_REGISTRY_URL=
# 镜像标签
MAPGIS_IMAGE_TAG=10.6.6.10
# NACOS主机(用于微服务之间通信,一般不需要修改)
NACOS_HOST=mapgis-xxx-nacos
# NACOS端口(内部端口,用于微服务之间通信,一般不需要修改)
NACOS_PORT=8848
# 网关主机(用于微服务之间通信,一般不需要修改)
GATEWAY_HOST=mapgis-xxx-gateway
# 网关主机(外部主机,用于Swagger在线文档,需要外部能访问,如不能访问,请设置成Docker宿主机IP)
GATEWAY_PUBLIC_HOST=
# 网关端口(外部端口,用于应用入口和Swagger在线文档)
GATEWAY_PUBLIC_PORT=8080
# Redis主机(用于微服务之间通信,一般不需要修改)
REDIS_HOST=mapgis-xxx-redis
# Redis端口(内部端口,用于微服务之间通信,一般不需要修改)
REDIS_PORT=6379
# Redis密码(可修改)
REDIS_PWD=cloud123.mapgis
# MySQL主机(用于微服务之间通信,一般不需要修改)
MYSQL_HOST=mapgis-xxx-mysql
# MySQL端口(内部端口,用于微服务之间通信,一般不需要修改)
MYSQL_PORT=3306
# MySQL数据库名(默认由容器创建,一般不需要修改)
MYSQL_DB=mapgis-cloud-xxx
# MySQL配置中心数据库名(由配置中心sql脚本自动创建,一般不需要修改)
MYSQL_CONFIG_DB=mapgis-cloud-config
# MySQL用户名
MYSQL_USER=root
# MySQL密码(可修改)
MYSQL_PWD=cloud123.mapgis
# MONITOR端口(外部端口,用于Spring Boot应用监控,需要外部能访问)
MONITOR_PUBLIC_PORT=9200
# 启动运行
# 启动
sudo ./startup.sh
# 停止
sudo ./shutdown.sh
# 访问应用
http://{DOCKER_HOST_IP}:{GATEWAY_PUBLIC_PORT} (opens new window)
{DOCKER_HOST_IP}为Docker宿主机的IP,{GATEWAY_PUBLIC_PORT}为应用端口
# Kubernetes部署
# 安装前提
Kubernetes 1.9及以上
所需硬件资源
CPU:4核
内存:16GB+
硬盘:200GB+
NFS Server
私有镜像仓库(如果可以访问阿里云镜像仓库,则不需要搭建)
搭建时可参考配置私有镜像仓库
# 单体版
# 调整参数
编辑values.yaml
,根据需要修改相关参数,运行sudo vi values.yaml
# 选填,应用端口,自定义范围30000-32767,默认为32000
appPort: 32000
# 必填,镜像仓库地址,默认为阿里云镜像仓库(外网推荐使用):registry.cn-beijing.aliyuncs.com
# 内网私有镜像仓库:<ip>:5000,<ip>为镜像仓库所在的机器IP,例如:192.168.177.1:5000
imageRegistry:
# 必填,NFS Server的地址,用于持久化存储应用数据,例如:192.168.130.10
nfsServer:
# 必填,NFS Server提供的挂载路径,默认是根路径: /,请根据实际情况填写,例如:/nfs/data
nfsPath: /
# 选填,用于存储应用数据,它跟NFS Server都用于存储数据,如果和NFS Server同时存在,优先使用NFS Server存储应用数据
nfsStorageClassName:
# 启动运行
# 启动
sudo ./startup.sh
# 停止
sudo ./shutdown.sh
# 访问应用
http://{ip}:{appPort}} (opens new window)
{ip}为外部访问k8s的IP,{appPort}为应用端口
# 微服务版
# 调整参数
编辑values.yaml
,根据需要修改相关参数,运行sudo vi values.yaml
# 必填,外部访问k8s的IP,可以是k8s集群内任意一台外部可访问的机器IP,如:192.168.130.10
k8sPublicIp:
# 选填,应用端口,自定义范围30000-32767,默认为32000
appPort: 32000
# 必填,镜像仓库地址,默认为阿里云镜像仓库(外网推荐使用):registry.cn-beijing.aliyuncs.com
# 内网私有镜像仓库:<ip>:5000,<ip>为镜像仓库所在的机器IP,例如:192.168.177.1:5000
imageRegistry:
# 必填,NFS Server的地址,用于持久化存储应用数据,例如:192.168.130.10
nfsServer:
# 必填,NFS Server提供的挂载路径,默认是根路径: /,请根据实际情况填写,例如:/nfs/data
nfsPath: /
# 选填,用于存储应用数据,它跟NFS Server都用于存储数据,如果和NFS Server同时存在,优先使用NFS Server存储应用数据
nfsStorageClassName:
# 启动运行
# 启动
sudo ./startup.sh
# 停止
sudo ./shutdown.sh
# 访问应用
http://{ip}:{appPort}} (opens new window)
{ip}为外部访问k8s的IP,{appPort}为应用端口