7.2、Nacos安装部署
Nacos 安装部署
Nacos 支持多种部署方式。本节将学习如何安装和部署 Nacos。
本节将学习:单机模式安装、集群模式部署、Docker 部署,以及配置说明。
单机模式安装
下载安装
单机模式安装步骤:
- 下载 Nacos 安装包
- 解压安装包
- 启动 Nacos Server
- 访问控制台
启动命令
# Linux/Mac sh startup.sh -m standalone # Windows startup.cmd -m standalone
访问控制台
访问地址: http://localhost:8848/nacos
默认账号密码: nacos/nacos
集群模式部署
集群配置
集群模式部署:
- 配置集群节点
- 配置数据库(MySQL)
- 启动集群节点
- 验证集群状态
配置文件
# cluster.conf 192.168.1.1:8848 192.168.1.2:8848 192.168.1.3:8848
Docker 部署(推荐)
Docker Compose 配置
文件路径: mall-microservices/docker/nacos/docker-compose.yml
version: '3.8' services: nacos: image: nacos/nacos-server:v2.3.0 container_name: nacos-server environment: - MODE=standalone - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=mysql - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_DB=nacos - MYSQL_SERVICE_USER=nacos - MYSQL_SERVICE_PASSWORD=nacos123 - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true ports: - "8848:8848" - "9848:9848" volumes: - ./logs:/home/nacos/logs depends_on: - mysql networks: - mall-network mysql: image: mysql:8.0 container_name: nacos-mysql environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=nacos - MYSQL_USER=nacos - MYSQL_PASSWORD=nacos123 ports: - "3307:3306" volumes: - mysql-data:/var/lib/mysql - ./init-nacos-mysql.sql:/docker-entrypoint-initdb.d/init.sql networks: - mall-network volumes: mysql-data: networks: mall-network: driver: bridge
Nacos 数据库初始化脚本
文件路径: mall-microservices/docker/nacos/init-nacos-mysql.sql
CREATE DATABASE IF NOT EXISTS nacos DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE nacos; -- 执行 Nacos 官方提供的数据库脚本 -- 可以从 https://github.com/alibaba/nacos/blob/master/distribution/conf/mysql-schema.sql 下载
启动 Nacos
启动命令:
# 进入 docker 目录 cd mall-microservices/docker/nacos # 启动 Nacos(包含 MySQL) docker-compose up -d # 查看日志 docker-compose logs -f nacos # 停止服务 docker-compose down
验证 Nacos 启动
验证步骤:
-
检查容器状态:
docker ps | grep nacos -
访问控制台:
- 地址:http://localhost:8848/nacos
- 用户名:nacos
- 密码:nacos
-
检查健康状态:
curl http://localhost:8848/nacos/v1/console/health
简化版 Docker 部署(仅 Nacos,使用内置数据库)
文件路径: mall-microservices/docker/nacos/docker-compose-simple.yml
version: '3.8' services: nacos: image: nacos/nacos-server:v2.3.0 container_name: nacos-server environment: - MODE=standalone ports: - "8848:8848" - "9848:9848" volumes: - ./logs:/home/nacos/logs networks: - mall-network networks: mall-network: driver: bridge
启动简化版:
docker-compose -f docker-compose-simple.yml up -d
注意:简化版使用 Nacos 内置数据库(Derby),数据不会持久化,适合开发环境。生产环境建议使用 MySQL 模式。
配置说明
配置文件位置
配置文件: conf/application.properties
主要配置项
Nacos 主要配置:
# 服务端口 server.port=8848 # 数据存储模式(standalone 模式使用 embedded,集群模式使用 mysql) spring.datasource.platform=mysql # MySQL 配置(集群模式需要) db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true db.user.0=nacos db.password.0=nacos # 命名空间配置 nacos.naming.empty-service.auto-clean=true nacos.naming.empty-service.clean.initial-delay-ms=50000 nacos.naming.empty-service.clean.period-time-ms=30000
开发环境配置建议
开发环境配置:
- 使用 standalone 模式:单机模式,启动简单
- 使用内置数据库:Derby,无需额外配置 MySQL
- 端口映射:8848(HTTP),9848(gRPC)
生产环境配置建议
生产环境配置:
- 使用集群模式:至少3个节点
- 使用 MySQL 存储:数据持久化
- 配置高可用:使用负载均衡器
- 安全配置:修改默认密码,配置访问控制
本地开发环境搭建(推荐)
使用 Docker Compose 快速启动
完整的本地开发环境配置:
-
创建目录结构:
mall-microservices/ └── docker/ └── nacos/ ├── docker-compose.yml ├── docker-compose-simple.yml └── logs/ -
启动 Nacos:
cd mall-microservices/docker/nacos docker-compose -f docker-compose-simple.yml up -d -
验证启动:
- 访问 http://localhost:8848/nacos
- 登录:nacos/nacos
- 查看服务列表(此时应该为空)
常见问题
可能遇到的问题:
-
端口被占用:
- 问题:8848 端口已被占用
- 解决:修改 docker-compose.yml 中的端口映射,如
"8849:8848"
-
容器启动失败:
- 问题:容器无法启动
- 解决:查看日志
docker-compose logs nacos,检查配置是否正确
-
无法访问控制台:
- 问题:浏览器无法访问 Nacos 控制台
- 解决:检查防火墙设置,确保端口开放
官方资源
根据 Nacos 安装文档 和 Docker 部署指南:
-
快速开始:官方文档提供了详细的快速开始指南,包括单机模式和集群模式的部署步骤。文档强调,开发环境可以使用 standalone 模式,生产环境建议使用集群模式并配置 MySQL 作为存储。
-
Docker 部署:官方文档提供了完整的 Docker 部署方案,包括 Docker Compose 配置示例。文档详细说明了如何配置环境变量、如何挂载数据卷、如何配置网络等,使得 Docker 部署变得简单易行。
-
配置说明:官方文档详细说明了 Nacos 的配置项,包括端口配置、数据存储模式、集群配置等。文档特别强调了生产环境的配置建议,如启用认证、配置持久化存储等。
参考资源:
- Nacos 安装文档:https://nacos.io/docs/quick-start.html
- Nacos Docker:https://nacos.io/docs/use-nacos-with-docker.html
- Nacos GitHub:https://github.com/alibaba/nacos
本节小结
在本节中,我们学习了 Nacos 的安装部署:
第一个是单机模式安装。 单机模式安装步骤,适合开发环境。
第二个是集群模式部署。 集群模式配置和部署,适合生产环境。
第三个是 Docker 部署。 使用 Docker Compose 部署 Nacos,提供了完整的配置文件,包括 MySQL 和简化版配置。
第四个是配置说明。 主要配置项说明,包括开发环境和生产环境的配置建议。
第五个是本地开发环境搭建。 提供了完整的本地开发环境搭建步骤和常见问题解决方案。
这就是 Nacos 安装部署。完成安装后,Nacos 已经运行在本地,我们可以开始集成到商城项目中了。在下一节,我们将学习如何使用 Nacos 控制台。