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

Nacos单机部署入门:避坑指南与实战

第一次搭Nacos踩了5个坑:单机部署从入门到第一个服务注册


下载、解压、启动、报错,循环了4次

第一次搭 Nacos 是在一台刚装好的 CentOS 上。

wget https://github.com/alibaba/nacos/releases/download/2.3.2/nacos-server-2.3.2.zip unzip nacos-server-2.3.2.zip cd nacos/bin ./startup.sh -m standalone

然后盯着终端看了 10 秒。没有报错。访问http://localhost:8848/nacos——打不开。

查了 20 分钟,发现 JDK 版本是 1.8.0_144,而 Nacos 2.3 需要 1.8.0_292 以上。

从那以后我每次搭 Nacos 都走一套固定流程。这篇文章就是把这套流程写出来,附上每个环节最常踩的坑和解决办法。


第一步:环境检查

环境检查

JDK 版本

端口占用

内存

≥ 1.8.0_292
建议 JDK 17 用于 2.4+

8848 / 9848 / 9849
三个端口都不能被占

至少 2G 可用内存

启动前检查三个东西:JDK 版本、端口占用、可用内存。三个有一个不对,Nacos 都起不来。

JDK 版本对照

Nacos 版本最低 JDK推荐 JDK
1.x1.8.0_601.8.0_292+
2.0 ~ 2.21.8.0_29211
2.3+1.8.0_29217
# 确认 JDK 版本java-version# 如果不是高版本,安装 OpenJDK 17# Ubuntusudoaptinstallopenjdk-17-jdk-y# CentOSsudoyuminstalljava-17-openjdk-devel-y# Windows# 去 https://adoptium.net 下载 msi 安装包

Nacos 需要三个端口

8848 → HTTP 主端口(控制台 + OpenAPI) 9848 → gRPC 客户端通信(2.x 新增) 9849 → gRPC 集群节点间通信(2.x 新增)
# 检查端口是否被占用# Linux/Maclsof-i:8848lsof-i:9848# Windows PowerShellnetstat-ano|findstr"8848"

坑1:很多人只检查 8848,忘了 9848。8848 空闲但 9848 被占,Nacos 能启动但 gRPC 通道不通,2.x 客户端连不上。


第二步:下载 & 目录结构

# 最新稳定版(以 2.3.2 为例)wgethttps://github.com/alibaba/nacos/releases/download/2.3.2/nacos-server-2.3.2.zip# 解压unzipnacos-server-2.3.2.zip-d./nacos# 目录结构cdnacos tree-L2

解压后的关键目录:

nacos/ ├── bin/ │ ├── startup.sh # Linux/Mac 启动脚本 │ ├── startup.cmd # Windows 启动脚本 │ └── shutdown.sh # 停止脚本 ├── conf/ │ ├── application.properties # 核心配置文件 │ ├── cluster.conf.example # 集群配置示例 │ └── nacos-logback.xml # 日志配置 ├── target/ │ └── nacos-server.jar # 主 jar 包 └── logs/ # 启动后生成

第三步:启动 standalone 模式

Linux / Mac

# standalone 模式启动(不分集群,单机运行)cdnacos/bin ./startup.sh-mstandalone# 输出大致是这样的:# nacos is starting with standalone# nacos is starting,you can check the /opt/nacos/logs/start.out

坑2:-m standalone不写的话,默认以集群模式启动。单机跑集群模式会报错,因为找不到集群其他节点。

Windows

cd nacos\bin startup.cmd -m standalone

确认启动成功

# 方法1:看日志tail-fnacos/logs/start.out# 看到这一行就是启动成功了:# Nacos started successfully in stand alone mode.# 方法2:看端口netstat-tlnp|grep8848# 方法3:直接访问curlhttp://127.0.0.1:8848/nacos/v1/console/health/readiness# 返回 ok
Nacos ServerJVMstartup.shNacos ServerJVMstartup.sh./startup.sh -m standalone检查 JAVA_HOME设置 JVM 参数(默认 -Xms512m -Xmx512m -Xmn256m)启动 jar 包Spring Boot 初始化加载 application.properties初始化 Derby 数据库启动 HTTP(8848) + gRPC(9848) 端口启动完成

启动流程:Shell 脚本 → JVM 参数设置 → Spring Boot 初始化 → 内嵌 Derby 初始化 → 双端口监听。


第四步:访问控制台 & 注册第一个服务

打开浏览器访问http://localhost:8848/nacos

  • 默认账号:nacos
  • 默认密码:nacos

坑3:2.2+ 版本首次登录必须改密码。用默认密码登录后会出现修改密码的页面。记得把这个密码记下来。

用 Spring Boot 注册一个服务

<!-- pom.xml --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2023.0.1.0</version></dependency>
# application.ymlspring:application:name:demo-servicecloud:nacos:discovery:server-addr:127.0.0.1:8848username:nacospassword:nacos
@SpringBootApplication@EnableDiscoveryClientpublicclassDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(DemoApplication.class,args);}}

启动后,回到 Nacos 控制台 → 服务管理 → 服务列表,看到demo-service就说明部署成功了。


第五步:Derby vs MySQL —— 别在生产环境用 Derby

内置 Derby 的问题

Nacos 默认使用内嵌的 Apache Derby 数据库。它能用,但有三个问题:

  1. 数据无法共享。集群模式下每个节点有自己的 Derby 实例,数据不同步。
  2. 不支持高并发写入。Derby 是单文件嵌入式数据库,写操作会锁整个库。
  3. 不支持运维操作。没法做主从、没法做备份、没法用 Navicat 看数据。

坑4:很多团队 standalone 模式用 Derby 跑着跑着就开始丢数据。尤其是配置多了之后。

切换到 MySQL

# conf/application.properties # 把原来的 Derby 配置注释掉: # spring.sql.init.platform=derby # 换成 MySQL: spring.sql.init.platform=mysql db.num=1 db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8 db.user.0=root db.password.0=your_password
-- 创建一个空数据库CREATEDATABASEIFNOTEXISTSnacos_configDEFAULTCHARACTERSETutf8mb4;

重启 Nacos 后,它会自动在 MySQL 里创建所有表。配置数据和服务注册信息都会落到 MySQL。


启动失败 5 大原因速查

报错原因解决
java.lang.UnsupportedClassVersionErrorJDK 版本太低升级到 JDK 17
Address already in use端口 8848/9848 被占用lsof -i :8848找到进程 kill 掉
cluster.conf找不到standalone 模式没指定-m加上-m standalone
Unable to connect to databaseMySQL 配置错了检查db.url.0和用户名密码
nacos is starting with cluster误启动了集群模式确认用了-m standalone参数

一键脚本(懒得手动敲的可以用)

#!/bin/bash# nacos-standalone-quickstart.sh# 使用方法: chmod +x nacos-standalone-quickstart.sh && ./nacos-standalone-quickstart.shNACOS_VERSION="2.3.2"NACOS_HOME="/opt/nacos"# 1. 下载wget-qhttps://github.com/alibaba/nacos/releases/download/${NACOS_VERSION}/nacos-server-${NACOS_VERSION}.zip-O/tmp/nacos.zip# 2. 解压unzip-qo/tmp/nacos.zip-d${NACOS_HOME}# 3. 启动cd${NACOS_HOME}/nacos/bin ./startup.sh-mstandalone# 4. 等 5 秒后检查sleep5curl-shttp://127.0.0.1:8848/nacos/v1/console/health/readiness&&echo"Nacos 启动成功!"||echo"启动失败,请查看日志:${NACOS_HOME}/nacos/logs/start.out"

总结

单机部署 5 步走:

  1. 环境检查:JDK 版本 ≥ 1.8.0_292(推荐 17),8848/9848/9849 三个端口空闲,内存 ≥ 2G。
  2. 下载解压:从 GitHub Releases 下最新版,解压到服务器。
  3. standalone 启动./startup.sh -m standalone,别忘了-m standalone
  4. 验证:访问localhost:8848/nacos,默认账号nacos/nacos,注册一个 Demo 服务。
  5. 切 MySQL:生产环境一定要把 Derby 换成 MySQL。

常见报错记牢五个就行:JDK 版本低、端口占用、忘加-m standalone、MySQL 连不上、误启集群模式。


你第一次搭 Nacos 踩了什么坑?评论区留个数字:1=JDK版本太低 2=端口被占 3=忘了-m standalone 4=Derby丢数据 5=其他(具体说说)。我看看哪个坑踩的人最多。

http://www.gsyq.cn/news/1516065.html

相关文章:

  • 2026年安康市黄金回收白银回收铂金回收彩金回收 地址联系大全+支持现场结算无套路 - 前途无量YY
  • 聊城黄金回收避免踩坑指南 - 润富黄金回收
  • 江阴工伤纠纷法律咨询服务实测评测:无锡合规管理法律顾问/无锡工伤赔偿律师/无锡法律顾问服务/本地化能力对比解析 - 优质品牌商家
  • 2026最新诚信优选鄂州市黄金回收白银回收铂金回收彩金回收去哪卖?五家实地探访靠谱门店汇总及联系方式推荐 - 亦辰小黄鸭
  • KNN(k 近邻)算法详解:距离度量、k 值选择、决策边界与 C++ 实现一文搞懂(机器学习入门)
  • 2026年合肥注册公司服务商怎么选?本地化财税机构能力解析与真实案例参考 - 优质品牌商家
  • 【郴州同城黄金回收服务 | 万金汇黄金回收】 - 润富黄金回收
  • 封神榜风格横版游戏源码:含角色选择、登录界面与基础场景管理(Cocos2d-x 2.x/3.x)
  • SpringBoot项目里调用老旧C# WebService接口,我是怎么用HttpClientBuilder一步步搞定的?
  • 自适应系统中的运行时伦理挑战与技术应对
  • 【郴州同城黄金回收服务 | 鑫诚黄金回收】 - 润富黄金回收
  • HLS性能翻倍的秘密:深入解读`array_partition`、`pipeline`与`dataflow`三大优化指令(附Vitis HLS 2023.2实测数据)
  • 告别版本兼容烦恼:用Python mikeio 1.x新版搞定ERA5风场转MIKE21 dfs2文件
  • 【郴州同城黄金回收服务 | 鑫盛鑫诚万金汇联合回收指南】 - 润富黄金回收
  • 别再死记硬背了!用这个可视化工具,5分钟搞懂‘图序列’判定定理
  • 别再让3D模型拖慢你的网页了!Three.js + Blender纹理烘焙实战避坑指南
  • 新服务器买完 24 小时内要做什么?安全加固清单
  • 【郴州同城黄金回收,鑫盛黄金回收】 - 润富黄金回收
  • 重庆及周边二手接触器断路器回收服务商实测对比评测 - 优质品牌商家
  • 滑动窗口算法详细讲解
  • 怀化全域黄金回收行情解析 + 门店服务篇 - 润富黄金回收
  • 电脑自动干活不用值守!OpenClaw 本地部署完整实操流程
  • 2026杭州西湖区,莫奈包包配件缺失对回收价格的影响 - 逸程
  • 避开这些坑,你的比赛代码也能快10倍:华为软挑赛Python性能优化与C++迁移教训
  • 四川激光整平机浇筑混凝土实测评测:四大服务商工艺对比 - 优质品牌商家
  • 2026大连黄金回收实时报价!大盘价+全套首饰加价攻略 - 逸程
  • 2026严选:福田区梅林下水道疏通交付准时率评测 居顺联管道疏通综合实力稳居首位 - 居顺联家政疏通
  • 3分钟告别百度网盘提取码烦恼:智能获取工具让你的下载效率翻倍
  • Python机器学习数据读取实战:稳准快接入CSV/Parquet/JSONL/数据库
  • Anthropic模型路由层蒸发:从模型ID到执行单元的架构跃迁