7.2Nacos安装部署

分类: Nacos服务注册与发现

Nacos 安装部署

Nacos 支持多种部署方式。本节将学习如何安装和部署 Nacos。

本节将学习:单机模式安装、集群模式部署、Docker 部署,以及配置说明。

单机模式安装

下载安装

单机模式安装步骤:

  1. 下载 Nacos 安装包
  2. 解压安装包
  3. 启动 Nacos Server
  4. 访问控制台

启动命令

# Linux/Mac sh startup.sh -m standalone # Windows startup.cmd -m standalone

访问控制台

访问地址: http://localhost:8848/nacos

默认账号密码: nacos/nacos

集群模式部署

集群配置

集群模式部署:

  1. 配置集群节点
  2. 配置数据库(MySQL)
  3. 启动集群节点
  4. 验证集群状态

配置文件

# 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 启动

验证步骤:

  1. 检查容器状态

    docker ps | grep nacos
  2. 访问控制台

  3. 检查健康状态

    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

开发环境配置建议

开发环境配置:

  1. 使用 standalone 模式:单机模式,启动简单
  2. 使用内置数据库:Derby,无需额外配置 MySQL
  3. 端口映射:8848(HTTP),9848(gRPC)

生产环境配置建议

生产环境配置:

  1. 使用集群模式:至少3个节点
  2. 使用 MySQL 存储:数据持久化
  3. 配置高可用:使用负载均衡器
  4. 安全配置:修改默认密码,配置访问控制

本地开发环境搭建(推荐)

使用 Docker Compose 快速启动

完整的本地开发环境配置:

  1. 创建目录结构

    mall-microservices/
    └── docker/
        └── nacos/
            ├── docker-compose.yml
            ├── docker-compose-simple.yml
            └── logs/
    
  2. 启动 Nacos

    cd mall-microservices/docker/nacos docker-compose -f docker-compose-simple.yml up -d
  3. 验证启动

常见问题

可能遇到的问题:

  1. 端口被占用

    • 问题:8848 端口已被占用
    • 解决:修改 docker-compose.yml 中的端口映射,如 "8849:8848"
  2. 容器启动失败

    • 问题:容器无法启动
    • 解决:查看日志 docker-compose logs nacos,检查配置是否正确
  3. 无法访问控制台

    • 问题:浏览器无法访问 Nacos 控制台
    • 解决:检查防火墙设置,确保端口开放

官方资源

根据 Nacos 安装文档Docker 部署指南

  1. 快速开始:官方文档提供了详细的快速开始指南,包括单机模式和集群模式的部署步骤。文档强调,开发环境可以使用 standalone 模式,生产环境建议使用集群模式并配置 MySQL 作为存储。

  2. Docker 部署:官方文档提供了完整的 Docker 部署方案,包括 Docker Compose 配置示例。文档详细说明了如何配置环境变量、如何挂载数据卷、如何配置网络等,使得 Docker 部署变得简单易行。

  3. 配置说明:官方文档详细说明了 Nacos 的配置项,包括端口配置、数据存储模式、集群配置等。文档特别强调了生产环境的配置建议,如启用认证、配置持久化存储等。

参考资源

本节小结

在本节中,我们学习了 Nacos 的安装部署:

第一个是单机模式安装。 单机模式安装步骤,适合开发环境。

第二个是集群模式部署。 集群模式配置和部署,适合生产环境。

第三个是 Docker 部署。 使用 Docker Compose 部署 Nacos,提供了完整的配置文件,包括 MySQL 和简化版配置。

第四个是配置说明。 主要配置项说明,包括开发环境和生产环境的配置建议。

第五个是本地开发环境搭建。 提供了完整的本地开发环境搭建步骤和常见问题解决方案。

这就是 Nacos 安装部署。完成安装后,Nacos 已经运行在本地,我们可以开始集成到商城项目中了。在下一节,我们将学习如何使用 Nacos 控制台。