当前位置: 首页 > news >正文

LinuxWindows环境下Nacos3.1.0详细安装部署指南:从零到生产就绪

前言:为什么这篇指南值得你收藏?

作为一名资深后端开发者,我最近在CentOS 7服务器上部署Nacos时,发现网络上虽然有很多安装教程,但大多存在版本过时步骤残缺关键细节缺失的问题。特别是在Nacos 3.0+版本引入强制鉴权机制后,许多旧教程已不再适用。


知识预热:关于Nacos 3.0+的安全升级

在开始具体安装步骤前,有必要先了解一个重要变化:Nacos从3.0.0版本开始默认启用控制台鉴权功能。这意味着如果你直接按照旧教程安装,一定会遇到三个关键的鉴权配置问题:

# 安装过程中必然会遇到的三个"拦路虎":
nacos.core.auth.plugin.nacos.token.secret.key is missing
nacos.core.auth.server.identity.key is missing
nacos.core.auth.server.identity.value is missing

不用担心,本文详细讲解这三个配置的深层含义和正确设置方法。

接下来,让我们开始真正的安装之旅吧!


系统要求

        注意:        以下是部署Nacos Server的最小系统要求。如果您的环境无法满足系统最小要求,可能会导致无法部署和启动Nacos Server。

JDK/JRE17及以上
CPU1核及以上,支持64位CPU
内存2G及以上
硬盘无最小要求,根据保留日志自行调整
操作系统Linux, Mac OS X, Windows

        Nacos Server 只维护最新的GA 发布版本,截止作者安装时最新版本是 3.1.0。最新版本向下兼容 1.0.0 版本。

1. 预备环境准备

Nacos 依赖 Java 环境来运行,请确保是在以下版本环境中安装使用:

  1. 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
  2. 64 bit JDK 17+;下载 & 配置。

2. 下载安装包

你可以通过Nacos官网网站及Github两种方式来获取 Nacos 发行包 。

官网:

进入Nacos官网版本下载页面,选择 稳定版本, 然后点击二进制包下载列中的${nacos.version}.zip进行下载。

注意:有时大量用户同时进行下载时,可能会遇到下载限流失败的情况,若出现下载限流失败,请稍等后重试,或采用从 Github 下载方式

Github:

进入Nacos Github 的 最新稳定版本 ,选择需要下载的Nacos版本,在Assets中点击下载 nacos-server-$version.zip 包。

3. 解压缩Nacos 发行包

 unzip nacos-server-$version.zip# 或者 tar -xvf nacos-server-$version.tar.gz

4.⚙️ 配置与启动Nacos

单机模式启动(推荐初学者)

对于测试和学习,使用内嵌数据库的单机模式最简单

进入启动脚本目录,以单机模式启动

cd /usr/local/nacos/bin
# Linux/Unix/Mac
#启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
#如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
###Windows启动如下:
startup.cmd -m standalone

随后启动程序会提示您输入3个鉴权相关配置(Nacos从3.0.0版本开始默认启用控制台鉴权功能,因此如下3个鉴权相关配置必须填写)如下所示:

`nacos.core.auth.plugin.nacos.token.secret.key` is missing, please set with Base64 string: ${your_input_token_secret_key}
nacos.core.auth.plugin.nacos.token.secret.key` Updated:
----------------------------------
`nacos.core.auth.server.identity.key` is missing, please set: ${your_input_server_identity_key}
`nacos.core.auth.server.identity.key` Updated:
----------------------------------
`nacos.core.auth.server.identity.value` is missing, please set: ${your_input_server_identity_key}
`nacos.core.auth.server.identity.value` Updated:
----------------------------------

三个鉴权配置详解

1. nacos.core.auth.plugin.nacos.token.secret.key

含义:用于生成JWT token的密钥种子

  • 这是最核心的安全密钥,用于加密用户token

  • 必须是Base64编码的字符串(至少32字符)

  • 生产环境必须设置强密码,且定期更换

设置方法

# 生成一个安全的Base64密钥(推荐)
openssl rand -base64 32
# 输出示例:aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789abcdefghij==
# 或者使用在线Base64生成工具
2. nacos.core.auth.server.identity.key

含义:服务器身份标识的键名

  • 用于标识Nacos服务器自身的身份

  • 通常使用默认值即可,用于内部服务识别

推荐设置

server.identity
# 或者保持默认(如果系统提示默认值)
3. nacos.core.auth.server.identity.value

含义:服务器身份标识的值

  • 与上面的key对应,是服务器的具体身份值

  • 需要保持唯一性和安全性

推荐设置

# 生成一个唯一标识(推荐)
openssl rand -hex 16
# 输出示例:a1b2c3d4e5f67890123456789abcdef0
# 或者使用服务器IP+时间戳
your_server_ip_timestamp

完整的设置流程

方法一:启动时交互式设置(您遇到的情况)

当首次启动时,系统会提示输入这三个值:

# 启动Nacos
sh startup.sh -m standalone
# 系统会依次提示:
# 1. 输入token secret key(Base64格式)
# 2. 输入server identity key
# 3. 输入server identity value
方法二:预先配置文件(推荐)

更安全的方式是预先在配置文件中设置:

# 编辑Nacos配置文件
vi /root/wp/nacos/nacos/conf/application.properties

在文件末尾添加:

# JWT Token密钥(使用生成的Base64字符串)
nacos.core.auth.plugin.nacos.token.secret.key=你生成的Base64密钥
# 服务器身份标识
nacos.core.auth.server.identity.key=server.identity
nacos.core.auth.server.identity.value=你生成的唯一标识值
# 其他相关安全配置(可选但推荐)
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.system.type=nacos

5、配置MySQL数据库持久化

        如果你希望将配置信息等数据持久化到MySQL,避免重启Nacos后数据丢失,需要进行以下配置:

  1. 初始化数据库:创建名为nacos的数据库,并执行Nacos配置目录下的SQL脚本(/usr/local/nacos/conf/mysql-schema.sqlnacos-mysql.sql)来初始化表结构。

  2. 修改配置文件:编辑Nacos的配置文件 /usr/local/nacos/conf/application.properties,找到数据库连接部分并修改:

# 启用MySQL数据库
spring.datasource.platform=mysql
# 数据库实例数量
db.num=1
# 配置第一个数据库的连接信息,请替换为你的实际信息
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user.0=你的mysql用户名
db.password.0=你的mysql密码

修改配置后的正确操作步骤

# 1. 首先停止当前运行的Nacos服务(如果正在运行)
sh /usr/local/nacos/bin/shutdown.sh
# 2. 等待几秒钟确保服务完全停止
# 3. 重新启动Nacos(无需再加 -m standalone 参数)
sh /usr/local/nacos/bin/startup.sh

⚠️ 特别注意:从嵌入式数据库切换到MySQL后:

  • 之前在内置数据库中创建的配置数据不会自动迁移到MySQL

  • 如果需要保留原有数据,需要手动导出导入

  • 首次切换到MySQL后,Nacos会使用空的数据库启动

重启是必须的,因为Nacos只在启动时加载application.properties配置文件中的数据库连接信息。

6.配置systemctl开机自启动

创建Systemctl服务文件

1. 创建服务文件
sudo vi /etc/systemd/system/nacos.service
2. 编辑服务配置内容
[Unit]
Description=Nacos Service
Documentation=https://nacos.io/
After=network.target network-online.target
Wants=network-online.target
[Service]
Type=forking
# 根据您的实际路径修改
Environment="JAVA_HOME=/usr/local/jdk-17.0.2"
Environment="JAVA_OPT=-Xms512m -Xmx512m -Xmn256m"
# Nacos安装目录
WorkingDirectory=/root/wp/nacos/nacos/bin
# 启动命令 - 重要:明确指定单机模式
ExecStart=/bin/sh startup.sh -m standalone
ExecStop=/bin/sh shutdown.sh
Restart=on-failure
RestartSec=30
# 用户和组,根据您的实际情况设置
User=root
Group=root
[Install]
WantedBy=multi-user.target

⚙️ 配置说明和注意事项

关键配置项解释:

  • Type=forking: Nacos启动脚本会fork子进程

  • Environment: 设置Java环境变量

  • WorkingDirectory: 设置为bin目录,因为启动脚本需要在该目录执行

  • ExecStart: 明确指定单机模式 -m standalone

  • User/Group: 根据您的安全需求设置

    3. 重新加载systemd配置
    sudo systemctl daemon-reload

    管理Nacos服务

    #启动Nacos服务
    sudo systemctl start nacos
    #停止Nacos服务
    sudo systemctl stop nacos
    #查看服务状态
    sudo systemctl status nacos
    #设置开机自启动
    sudo systemctl enable nacos
    #禁用开机自启动
    sudo systemctl disable nacos
    #重启服务
    sudo systemctl restart nacos
    #查看服务日志
    sudo journalctl -u nacos -f

    高级配置选项

    更详细的环境配置:

    [Unit]
    Description=Nacos Service
    Documentation=https://nacos.io/
    After=network.target mysqld.service
    Wants=network-online.target
    [Service]
    Type=forking
    Environment="JAVA_HOME=/usr/local/jdk-17.0.2"
    Environment="JAVA_OPT=-Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true"
    Environment="NACOS_HOME=/root/wp/nacos/nacos"
    WorkingDirectory=/root/wp/nacos/nacos/bin
    ExecStartPre=/bin/sleep 5
    ExecStart=/bin/sh startup.sh -m standalone
    ExecStop=/bin/sh shutdown.sh
    Restart=always
    RestartSec=10
    StartLimitInterval=60s
    StartLimitBurst=3
    User=root
    Group=root
    # 日志配置
    StandardOutput=journal
    StandardError=journal
    [Install]
    WantedBy=multi-user.target

    7、 验证访问与后续步骤

    1. 访问控制台:打开本地浏览器,输入 http://<你的CentOS服务器IP地址>:8080。如果看到登录页面,说明安装成功。

    2. 登录:使用默认用户名 nacos 和密码 nacos 登录。

    3. 安全提醒:首次登录后,强烈建议立即在管理控制台修改默认密码,并考虑配置鉴权规则,以保障系统安全。

    http://www.hskmm.com/?act=detail&tid=22930

    相关文章:

  • JAVA SE 基础语法 —— A / 初识 - 指南
  • 2025年掘进机厂家权威推荐榜:实力品牌与技术创新深度解析
  • 2025机械加工供货厂家权威口碑排行:实力与服务深度解析!
  • NOIP 集训日记 2.0
  • 2025舒适轮胎权威推荐榜:静音科技与驾乘体验口碑之选
  • 2025七水硫酸锌厂家权威推荐榜:优质供应与专业定制首选
  • 深圳网站建设公司权威推荐榜:专业定制与创新设计口碑之选
  • UV面光源实力厂家权威推荐:专业制造与品质保障口碑之选
  • 2025微弧氧化实力厂家推荐:专业表面处理技术深度解析
  • 2025减速机厂家 TOP 企业品牌推荐排行榜,谐波,行星,直角换向器,中空旋转平台,双曲面,RV,伺服,重载,步进减速机推荐这十家公司!
  • 75. 颜色分类
  • 2025压缩机厂家 TOP 企业品牌推荐排行榜,医药冷冻,医疗冷冻,食品冷冻,冰鲜冷冻,蔬菜水果冷冻,冷库,中高温制冷,活塞式半封闭制冷压缩机公司推荐!
  • 英语_阅读_Always-on world_待读
  • 2025冷水机定制厂家 TOP 企业品牌推荐排行榜,工业,防爆,低温,水冷,螺杆,超低温,满液式,降膜,气悬浮,变频冷水机厂家推荐这十家公司
  • 实用指南:第四届云计算、大数据应用与软件工程国际学术会议(CBASE 2025)
  • 2025黄金回收公司权威推荐榜:专业估价与诚信服务口碑之选
  • hmcl
  • PWN手成长之路-06-watevr_2019_voting_machine_1-栈溢出+劫持
  • 2025喷雾干燥厂家TOP企业品牌推荐排行榜,无锡,常州喷雾干燥,低温,压力,气流,离心式,压力式喷雾干燥,喷雾干燥塔,设备,装置公司推荐!
  • AI+Decodo:构建智能电商价格监控系统的完整实战指南 - 实践
  • 2025无锡考编培训品牌机构公司TOP5推荐:公考培训/事业单位考编/央企国企考编培训机构:权威师资与高效课程深度解析
  • Java第三次实验
  • 题解:P8028 [COCI 2021/2022 #3] Cijanobakterije
  • 2025 年水质测定仪厂家 TOP 企业品牌推荐排行榜,多参数,便携式,cod 快速,台式,污水,自来水,养殖,便携式总磷总氮,余氯总氯,废水水质测定仪公司推荐
  • 2025上海门头清洗服务公司权威推荐榜:专业高效服务口碑之选
  • 2025冷却塔厂家权威推荐榜:高效降温与耐用品质口碑之选
  • 使用IOT-Tree Server借助PPI协议连接西门子PLC S7-200 Smart
  • 2025公考培训机构权威推荐榜:实力师资与高效备考口碑之选
  • 2025微信机器人开发指南:API接口实战
  • Mapper.xml中SQL语句的用法示例