当前位置: 首页 > 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=3User=root
    Group=root# 日志配置
    StandardOutput=journal
    StandardError=journal[Install]
    WantedBy=multi-user.target

    7、🌐 验证访问与后续步骤

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

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

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

    http://www.dtcms.com/a/411401.html

    相关文章:

  • 微信微网站 留言板网络营销的模式主要有
  • 实战训练1笔记
  • 网站制作程序下载ngo网页模板下载
  • C++学习记录(13)二叉排序树
  • TongWeb下如何获取数据源的物理连接?
  • 保险资料网站有哪些三网合一网站建设报价
  • 网站建设系统分析ai的优点和缺点
  • 三网合一网站百度一下免费下载
  • 坤驰科技携数据采集解决方案,亮相中国光纤传感大会
  • 可以做免费的网站吗广州平面设计工作室
  • 【文献阅读】基于机器学习的网络最差鲁棒性可扩展快速评估框架
  • 【复习】计网每日一题--PPP协议透明传输
  • 【训练技巧】torch.amp.GradScaler 里面当scale系数为0或者非常小的时候,详细分析与解决思路
  • 一站式服务logo设计深圳网站建设服务商哪些好?
  • 专业的网站建设公司电话做商城网站要什么手续
  • mdBook 开源笔记
  • 【1、Kotlin 基础语法】2、Kotlin 变量
  • TorchV知识库安全解决方案:基于智能环境感知的动态权限控制
  • 网站后台演示2023小规模企业所得税税率是多少
  • 常见设计模式讲解
  • 怎么查网站备案服务商房地产新闻动态
  • php做网站主题建设项目一次公示网站
  • 同城外卖系统技术解析:SpringBoot如何赋能区域外卖突围战
  • .NET Framework 4.0.30319:官方下载与常见问题解决指南
  • 池州网站优化有没有网站做字体变形
  • 【论文阅读 | ICCV 2025 | M-SpecGene:面向 RGBT 多光谱视觉的通用基础模型​​】
  • 江苏省省建设厅网站公司的介绍怎么写
  • 专门做二手手机的网站吗网站建设 协议书 doc
  • Kubernetes Headless Service 深度解析 —— 用大白话讲清楚
  • 做网站的软件pageseo策略