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

单机模式下nacos的安装与使用

一、nacos 的安装(安装包方式)

① 下载安装包 https://nacos.io/download/nacos-server/ 并进行解压缩

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

② 修改配置文件 application.properties ,有 3 个与 客户端访问鉴权 相关的必填项,如果没有填写的话,启动服务时会被要求在控制台输入

### The default token (Base64 String):
nacos.core.auth.plugin.nacos.token.secret.key=### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false.
### The two properties is the white list for auth and used by identity the request from other server.
nacos.core.auth.server.identity.key=
nacos.core.auth.server.identity.value=

(可选)默认情况下,如果不做额外配置,Nacos 会使用嵌入式的 Derby 数据库(无需单独安装),适用于测试或轻量级部署场景,如果想将数据持久化至 mysql,需要修改配置文件

#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
# spring.datasource.platform=mysql
# spring.sql.init.platform=mysql### Count of DB:
# db.num=1### Connect URL of DB:
# db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
# db.user.0=nacos
# db.password.0=nacos### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2### the maximum retry times for push
nacos.config.push.maxRetryTime=50

④ 启动服务 sh startup.sh -m standalone(Linux) 或者 startup.cmd -m standalone(Windows)

⑤ 进入 ${nacos.home}/logs/ 目录下, 使用 tail -f start.out 查看日志,如果看到如下日志,说明服务启动成功

Nacos started successfully in stand alone mode. use embedded storage

⑥ nacos 控制台页面为 http://{ip}:{port}/{context}/index.html ,例如

http://192.168.89.1:8849/nacos/index.html

初始管理员用户和密码都为 nacos

二、nacos 的安装(docker方式)

docker run --name nacos-standalone-derby \-e MODE=standalone \-e NACOS_AUTH_TOKEN=${your_nacos_auth_secret_token} \-e NACOS_AUTH_IDENTITY_KEY=${your_nacos_server_identity_key} \-e NACOS_AUTH_IDENTITY_VALUE=${your_nacos_server_identity_value} \-p 8080:8080 \-p 8848:8848 \-p 9848:9848 \-d nacos/nacos-server:latest

通过 docker logs -f $container_id 命令,查看 Nacos 服务启动日志,如果看到如下日志,说明服务启动成功

Nacos started successfully in xxxx mode. use xxxx storage

关于暴露出来的这 3 个端口,参考 https://nacos.io/blog/faq/nacos-user-question-history15151/

三、nacos 的使用

在 maven 项目中引入 nacos discovery 依赖

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

在 application.yaml 中配置 nacos 地址

server:port: 8081
spring:application:name: order-servicecloud:nacos:server-addr: 192.168.19.130:8848

在项目主类上添加 @EnableDiscoveryClient 注解

@SpringBootApplication
@EnableDiscoveryClient
public class NacosProviderApplication {// ... 其他代码 ...
}

最后,启动项目即可完成自动注册,在 nacos 控制台中可以看到对应的服务

四、发现并调用服务

/*** 购物车 服务实现类*/
@Service
@RequiredArgsConstructor
public class CartServiceImpl extends ServiceImpl<CartMapper, Cart> implements ICartService {private final RestTemplate restTemplate;private final DiscoveryClient discoveryClient;// 查询购物车中的商品信息private void handleCartItems(List<CartVO> carts) {// 想查询详情的商品idSet<Long> itemIds = ...;// 获取商品服务列表List<ServiceInstance> instances = discoveryClient.getInstances("product-service");if(CollUtil.isEmpty(instances)) {return;}// 随机选择一个商品服务的实例ServiceInstance instance = instances.get(RandomUtil.randomInt(instances.size()));// 调用商品服务ResponseEntity<List<ItemDTO>> response = restTemplate.exchange(instance.getUri() + "/items?ids={ids}",HttpMethod.GET,null,new ParameterizedTypeReference<List<ItemDTO>>() { },Map.of("ids", CollUtil.join(itemIds,",")));if(!response.getStatusCode().is2xxSuccessful()) {// 查询失败,直接结束return;}List<ItemDTO> items = response.getBody();// ...后续逻辑}
}
http://www.gsyq.cn/news/38504.html

相关文章:

  • Pymarchenko程序
  • 软件需求分析课堂加分 - 2305
  • 2025年11月黄褐斑改善产品对比榜:五款高回购单品全维度评价
  • #20232329易杨文轩 2025-2026-1 《网络与系统攻防技术》 实验四实验报告
  • 前端chatbox
  • 2025年11月合肥建筑律师推荐榜:全过程覆盖能力对比评价
  • 2025 年塑料挤出设备厂家最新推荐榜单:深度甄选聚焦技术实力、客户认可及设备性能全方位测评塑料板材挤出设备/塑料挤出设备生产线/塑料管材挤出设备生产线公司推荐
  • AtCoder Beginner Contest 430 ABCDEF 题目解析
  • 2025年广东空运到印度专线机构权威推荐榜单:广东到印度的海运平台/广东空运到印度物流平台/广东到印度专线双清包税服务源头机构精选
  • 2025 年最新推荐锰钢编织筛网厂家排行榜,涵盖耐磨矿用等多类型产品,精选五大靠谱品牌助力企业采购滚筒/平筛/黑钢锰钢编织筛网公司推荐
  • 用四端法测量Fe-Cr-Al丝的电阻率
  • 2025 年国际高中学校最新推荐榜,聚焦办学资质与升学成果深度解析及教学质量与综合实力全面评估松江区 / 青浦区 / 奉贤区 / 崇明区国际高中推荐
  • 2025年汽车超薄低音源头厂家权威推荐榜单:汽车音响超薄低音/汽车超薄低音炮/汽车音响超薄低音炮源头厂家精选
  • 2025年保洁服务公司新排行榜推荐,海獭顾家无忧保洁服务详细介绍
  • 2025 年阳台光伏厂家推荐:昱电宝依托昱能科技技术积淀,打造场景化光伏解决方案与服务体系
  • 【2025-11-01】连岳摘抄
  • 2025年度锂电池回收再利用机器制造厂排名:口碑好的锂电池回收设备厂家推荐
  • 2025年五大游乐设备优质厂家推荐,景区游乐设备厂实力全解析
  • 2025年郑州口碑不错的大巴车租赁专业公司推荐,知名的大巴车租赁企业实力全解析
  • vscode配置MCP
  • 2025年11月数控加工中心制造厂家榜单:诚信企业参数对比与专业评测
  • 2025年分析欧曼重卡:从技术驱动维度解析中高端重卡发展路径
  • 2025年11月数控铣床厂家推荐排行榜:权威口碑与性能综合评测指南
  • 2025年11月数控铣床厂家推荐排行榜:实力厂家全面对比与选购指南
  • 2025年11月数控铣床生产厂家评价榜单:可靠诚信品牌综合对比
  • 如何在百亿罚单警示下破局:DXC数据合规实践案例
  • 2025年11月商务办公复印纸厂家推荐榜:五家优质供应厂家综合评测与排行
  • 差距少,就会容易震荡,可以尝试做网格交易
  • 2025年风力发力机厂家权威推荐榜单:风光互补系统/10kw垂直轴风力发电机/垂直轴风机发电机源头厂家精选
  • 半导体静态电性测试系统如何实现对各类电子元器件的评估测试? - FORCREAT