程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 微服务基础

    • 了解SpringCloud微服务架构
    • 启动多个微服务项目
    • Eureka 服务注册
    • Ribbon 负载均衡
    • Nacos 下载与安装
      • 1. Windows下安装 Nacos
        • 1. 下载安装包
        • 2. 解压
        • 3. 端口配置
        • 4. 启动 Nacos
        • 5. 访问 Nacos 控制台
      • 2. 使用Docker安装Nacos
        • 1. 环境准备
        • 2. 下载 Nacos Docker 镜像
        • 3. 启动 Nacos 容器(单机模式)
        • 3.1 注释版本
        • 3.2 纯净版本
        • 4. 自定义配置文件
        • 5. 访问 Nacos 控制台
        • 6. 查看日志
        • 7. 停止与删除容器
    • Nacos 服务注册
    • Nacos 配置管理
    • openFeign 远程调用
    • OpenFeign 最佳实践
    • Gateway 网关
    • Gateway 进阶使用
    • Sentinel 服务保护
    • Sentinel 整合 Feign
    • 分布式事务 Seata
    • 什么是分布式
    • 什么是RPC框架
  • 微服务之DDD架构思想

  • 微服务
  • 微服务基础
scholar
2024-08-24
目录

Nacos 下载与安装

# Nacos 下载与安装

在国内,阿里巴巴的技术广受企业推崇,Nacos 是 Spring Cloud Alibaba 提供的注册中心解决方案,功能相比 Netflix 的 Eureka 更加丰富,也更适合国内企业的应用场景。

# 1. Windows下安装 Nacos

Nacos (opens new window) 是阿里巴巴推出的服务注册与配置中心,它是 Spring Cloud Alibaba 生态的重要组成部分。相比 Eureka,Nacos 的功能更加多样化,支持动态配置管理、服务注册发现、DNS 服务、健康监控等。

image-20210713230444308

# 1. 下载安装包

Nacos 的安装包可以通过 GitHub 页面下载,提供了编译好的服务端和源代码两种选择:

  • GitHub 主页:https://github.com/alibaba/nacos (opens new window)
  • Release 下载页面:https://github.com/alibaba/nacos/releases (opens new window)

如图:

image-20210402161102887

对于 Windows 用户,可以下载 nacos-server-1.4.1.zip(或其他版本)的压缩包进行安装。

# 2. 解压

下载后,将压缩包解压到任意非中文路径的目录下,如图所示:

image-20210402161843337

解压后的目录结构说明:

  • bin:包含启动和停止 Nacos 服务的脚本。
  • conf:存放 Nacos 的配置文件。

# 3. 端口配置

Nacos 的默认端口是 8848。如果该端口被其他进程占用,可以通过修改配置文件更改端口。

修改端口步骤:

  1. 进入 conf 目录,找到 application.properties 文件。

image-20210402162008280

  1. 打开文件,修改其中的 server.port 属性为其他未被占用的端口:

image-20210402162251093

server.port=8849
1

# 4. 启动 Nacos

启动 Nacos 非常简单,进入 bin 目录,执行启动命令:

image-20210402162350977

启动命令(Windows 系统):

startup.cmd -m standalone
1
  • -m standalone:表示以单机模式启动。Nacos 还支持集群模式,但在单机开发中使用 standalone 模式即可。

执行后的效果如下图所示:

image-20210402162526774

如果看到如上信息,表示 Nacos 已成功启动。

# 5. 访问 Nacos 控制台

在浏览器中输入 http://127.0.0.1:8848/nacos,即可访问 Nacos 控制台:

image-20210402162630427

默认的用户名和密码均为 nacos。登录成功后,进入管理界面:

image-20230611144820834

在这里,你可以管理服务、配置和集群信息,进行服务注册和配置的相关操作。


# 2. 使用Docker安装Nacos

在生产环境中,使用 Docker 部署 Nacos 是一种高效且方便的方式。通过 Docker 部署,能够更好地管理服务,特别是在微服务场景下。

# 1. 环境准备

  • 操作系统:任意支持 Docker 的系统(Windows、Linux、Mac)。
  • Docker:已安装 Docker 和 Docker Compose。

# 2. 下载 Nacos Docker 镜像

首先,我们需要从 Docker Hub 拉取 Nacos 的官方镜像:

docker pull nacos/nacos-server:latest
1

该命令会从 Docker Hub 下载最新版本的 Nacos 镜像。你可以根据需要指定具体的版本,如 1.4.1 或 2.1.0。

# 3. 启动 Nacos 容器(单机模式)

# 3.1 注释版本

docker run -d --name nacos-server \
  --privileged \  # 启用特权模式(如不需要可删除此项)
  --cgroupns host \  # 共享宿主机的 cgroup namespace,增强资源控制(如不需要可删除此项)
  -e MODE=standalone \  # 配置单机模式,生产环境可配置为集群模式(cluster)
  -e PREFER_HOST_MODE=hostname \  # 优先使用主机名来注册服务
  -e JVM_XMX=256m \  # 设置 JVM 最大内存为 256MB,适合轻量级开发测试
  -e JVM_XMS=256m \  # 设置 JVM 初始内存为 256MB
  -p 8848:8848 \  # 将容器内的 8848 端口映射到宿主机
  -p 9848:9848 \  # 映射 9848 端口用于健康检查和监控(可选)
  --restart=always \  # 设置自动重启策略,保证高可用性
  -w /home/nacos \  # 设置容器内的工作目录为 /home/nacos
  nacos/nacos-server:latest
1
2
3
4
5
6
7
8
9
10
11
12

命令解析:

  • docker run -d:以守护进程方式启动容器。
  • --name nacos-server:指定容器名称为 nacos-server,方便管理和识别。
  • --privileged:启用特权模式,使容器可以访问宿主机的部分资源(如设备文件和内核设置),某些高级操作需要该模式。
  • --cgroupns host:共享宿主机的 cgroup namespace,增强容器与宿主机资源交互的能力。
  • -e MODE=standalone:设置 Nacos 为单机模式,适用于开发和测试环境。生产环境可以配置为集群模式(cluster)。
  • -e PREFER_HOST_MODE=hostname:优先使用主机名注册服务,以支持多实例的部署和更灵活的网络配置。
  • -e JVM_XMX=256m:设置 JVM 允许使用的最大内存为 256MB,适合资源有限的开发测试环境。
  • -e JVM_XMS=256m:设置 JVM 初始分配的内存为 256MB,启动时即分配固定的内存,提升启动效率。
  • -p 8848:8848:将容器内的 8848 端口映射到宿主机,使得可以通过 http://localhost:8848 访问 Nacos 控制台。
  • -p 9848:9848:映射容器内的 9848 端口,通常用于健康检查和监控(根据需求可选)。
  • --restart=always:配置容器重启策略为 always,确保容器在意外停止时自动重启,保证服务的高可用性。
  • nacos/nacos-server:latest:指定使用最新版本的 Nacos 镜像,确保获得最新的功能和 bug 修复。

# 3.2 纯净版本

下面去掉多余注释的简化版本,以方便直接复制到云服务器中启动。以下是经过精简的命令:

docker run -d --name nacos-server \
  --privileged \
  --cgroupns host \
  -e MODE=standalone \
  -e PREFER_HOST_MODE=hostname \
  -e JVM_XMX=256m \
  -e JVM_XMS=256m \
  -p 8848:8848 \
  -p 9848:9848 \
  --restart=always \
  -w /home/nacos \
  nacos/nacos-server:latest
1
2
3
4
5
6
7
8
9
10
11
12

# 4. 自定义配置文件

如果你需要自定义 Nacos 的配置,可以在宿主机的 conf 目录中创建或编辑 application.properties 文件。例如:

server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://your-mysql-host:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=your-password
1
2
3
4
5
6
  • /home/nacos/conf 是容器内 Nacos 默认读取配置文件的目录。可以映射为宿主机的 /your-path/nacos/conf,让Nacos 能够读取到你的自定义配置。

编辑好配置文件后,重启容器使配置生效:

docker restart nacos-server
1

# 5. 访问 Nacos 控制台

在浏览器中输入 http://127.0.0.1:8848/nacos,即可访问 Nacos 控制台。默认的用户名和密码均为 nacos。

# 6. 查看日志

日志文件会保存在你挂载的 /your-path/nacos/logs 目录中,可以使用以下命令查看实时日志:

tail -f /your-path/nacos/logs/nacos.log
1

# 7. 停止与删除容器

如果需要停止或删除容器,可以执行以下命令:

docker stop nacos-server
docker rm nacos-server
1
2

编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
Ribbon 负载均衡
Nacos 服务注册

← Ribbon 负载均衡 Nacos 服务注册→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式