Linux - 安装 nacos(详细教程)

目录

  • 一、简介
  • 二、安装前准备
  • 三、下载与安装
  • 四、基本配置
  • 五、单机模式


一、简介

官网:https://nacos.io/

GitHub:https://github.com/alibaba/nacos

在这里插入图片描述

Nacos 是阿里巴巴推出的一个新开源项目,它主要是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Nacos提供了一组简单易用的特性集,帮助用户快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 的关键特性包括:

  • 服务发现和服务健康监测:支持基于 DNS 和基于 RPC 的服务发现,如 Kubernetes ServicegRPC & Dubbo RPC Service 以及Spring Cloud RESTful Service 等主流服务类型。Nacos 还提供实时的健康检查,以阻止向不健康的主机或服务实例发送请求。这包括传输层(如 PINGTCP)和应用层(如 HTTPMySQL、用户自定义)的健康检查,以及针对复杂云环境和网络拓扑环境的两种健康检查模式:agent 上报模式和服务端主动检测。
  • 动态配置服务:Nacos 允许用户以中心化、外部化和动态化的方式管理所有环境的配置,从而消除了配置变更时重新部署应用和服务的需要。配置中心化管理使实现无状态服务更简单,也使按需弹性扩展服务更容易。
  • 动态 DNS 服务:通过支持权重路由,Nacos 能轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的 DNS 解析服务。

具体可见官方文档:https://nacos.io/docs/latest/what-is-nacos/

在这里插入图片描述

总的来说,Nacos 是一个功能强大的平台,有助于更敏捷和容易地构建、交付和管理微服务平台,适用于以 “服务” 为中心的现代应用架构。


二、安装前准备

从官方文档可知 Nacos 依赖 Java 环境来运行,并且需要 JDK-1.8

可以 java -version 命令来检查是否已经安装了 Java,如果有打印出 Java 的版本信息则表示已经安装过了

在这里插入图片描述

如何在 Linux 上安装 Java,具体步骤可参见博客:Linux - java 环境配置

服务器建议 2CPU / 4G 内存以及以上

0.7 版本之前,在单机模式时 nacos 使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7 版本增加了支持 mysql 数据源能力,所以最好也安装一个 mysql,安装 Mysql 可参考博客:Linux - 安装 MySQL


三、下载与安装

打开 Nacos-GitHub ,点击 Release

在这里插入图片描述

可以看到 Nacos 的各版本跟新信息和安装包之类的

在这里插入图片描述

每个版本的安装包都在 Assets 这一栏中

在这里插入图片描述

目前 nacos 已经更新到 2.3.1 了,这里我就使用最新版的了

Linux 上安装选择 tar.gz 的安装包下载,点击即可下载

在这里插入图片描述

PS:直接下载会比较慢,可把链接复制到迅雷上下载

下载完成之后就可以上传到自己的服务器上去了

这里我会先在服务器上创建一个 /soft/nacos 的文件夹用于存放 nacos 的安装包,并进入到该目录下

# 创建 /soft/jenkins 文件夹
mkdir /soft/nacos
# 进入到 /soft/jenkins 文件夹下
cd /soft/nacos

在这里插入图片描述

使用 rz 命令将下载好的安装包上传到该目录下

在这里插入图片描述

可以用 ls 命令查看是否上传成功

在这里插入图片描述

上传成功之后解压该文件

tar -zxvf nacos-server-x.x.x.tar.gz

在这里插入图片描述

解压完成之后会在当前目录下生成一个 nacos 的文件夹

在这里插入图片描述

到此为止 nacos 的安装就完成了


四、基本配置

nacos 的配置基本上都在 nacos/conf/application.properties 文件中

在这里插入图片描述

(1)端口配置

打开 application.properties 文件,默认情况下端口为 8848

在这里插入图片描述

修改 server.port 值即可改变端口号

(2)配置数据库信息

修改 application.properties 文件,增加支持 mysql 数据源配置(目前只支持 mysql ),添加 mysql 数据源的 url、用户名和密码

在这里插入图片描述

例如:

在这里插入图片描述

同时在 MySql 数据库中执行 mysql-schema.sql 或者 nacos-mysql.sql 文件

在这里插入图片描述

(3)开启鉴权

官方参考文档:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html

2.2.2 版本之前的 Nacos 默认控制台,无论服务端是否开启鉴权,都会存在一个登录页;这导致很多用户被误导认为 Nacos 默认是存在鉴权的。在社区安全工程师的建议下,Nacos2.2.2 版本开始,在未开启鉴权时,默认控制台将不需要登录即可访问,同时在控制台中给予提示,提醒用户当前集群未开启鉴权

在这里插入图片描述

在用户开启鉴权后,控制台才需要进行登录访问。

2.2.0.12.2.1 版本时,必须执行此变更,否则无法启动;其他版本为建议设置

开启鉴权之前,application.properties 中的配置信息为:

### If turn on auth system:
nacos.core.auth.enabled=false

在这里插入图片描述

开启鉴权之后,application.properties 中的配置信息为:

### If turn on auth system:
nacos.core.auth.enabled=true

在这里插入图片描述

开启鉴权之后,你可以自定义用于生成 JWT 令牌的密钥,application.properties 中的配置信息为:

### The default token(Base64 String):
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

### 2.1.0 版本后
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

注意:

  • 文档中提供的密钥为公开密钥,在实际部署时请更换为其他密钥内容,防止密钥泄漏导致安全风险。
  • 在2.2.0.1版本后,社区发布版本将移除以文档如下值作为默认值,需要自行填充,否则无法启动节点。
  • 密钥需要保持节点间一致,长时间不一致可能导致403 invalid token错误。

自定义密钥时,推荐将配置项设置为 Base64 编码的字符串,且原始密钥长度不得低于 32 字符。例如下面的的例子:

Base 64 加密解密工具:https://base64.supfree.net/

### The default token(Base64 String):
nacos.core.auth.default.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

### 2.1.0 版本后
nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

注意:鉴权开关是修改之后立马生效的,不需要重启服务端。动态修改token.secret.key时,请确保token是有效的,如果修改成无效值,会导致后续无法登录,请求访问异常。

例如:

在这里插入图片描述


五、单机模式

  • 开启 nacos

bin 目录下执行已下命令即可

# 单机模式运行
sh startup.sh -m standalone

在这里插入图片描述

启动之后…

在这里插入图片描述

这里显示 nacos is starting, you can check the /soft/nacos/nacos/logs/start.out

查看该日志文件

cat /soft/nacos/nacos/logs/start.out

在这里插入图片描述

游览器上访问:http://ip:port/nacos/index.htmlip 是服务器的 ip 地址,port 是启动 nacos 的端口,比如:http://192.163.10.12:8848/nacos/index.html。访问不了先检查防火墙,如果你用的是 云服务器,可别忘了在云服务器上开放该端口号,ip 使用的是公网 ip

在这里插入图片描述

如果没有开启鉴权,页面如下:

在这里插入图片描述

如果开启鉴权,页面如下:

在这里插入图片描述

默认账户和密码为:

  • 账户:nacos
  • 密码:nacos

登录后可修改密码

在这里插入图片描述

在这里插入图片描述

  • 关闭 nacos

可以以下命令监听 nacos 是否正在运行

netstat -tulnp | grep 8848

在这里插入图片描述

bin 目录下执行已下命令即可

sh shutdown.sh

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/457257.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

什么是接口

接口定义 接口的定义分为接口的声明和接口体 接口构成 接口声明: ① 声明:关键字interface ② 格式:interfac接口名字 接口体 ① 两部分:常量和方法定义。 ② 内容:仅声明抽象方法, 不实现方法(没有方法体…

如何实现幂等性,java多线程面试题及答案整理

订单创建接口,第一次调用超时了,然后调用方重试了一次。是否会多创建一笔订单? 订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次。是否会多扣一次库存? 当这笔订单开始支…

【单调栈】代码随想录算法训练营第五十九天 |503.下一个更大元素II, 42. 接雨水 (待补充)

503.下一个更大元素II 1、题目链接:. - 力扣(LeetCode) 2、文章讲解:代码随想录 3、题目: 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个…

使用R语言计算模拟二项分布

二项分布理论 二项分布是一种离散概率分布,描述了在n次独立重复的伯努利试验中成功的次数的概率分布。其中,每次试验的结果只有两个可能:成功或失败,且每次试验的成功概率p是相同的。 具体来说,如果随机变量X表示在n次…

婚恋源码-婚恋交友系统-源码婚恋交友系统-APP小程序H5公众号-源码交付-支持二开!

本婚恋系统是一款专门为单身人士打造的相亲交友软件,所有用户都必须要身份认证,还有职业认证、学历认证等等全方位认证。智能匹配是本婚恋系统的核心功能,当我们完善好个人资料通过审核,系统会根据个人信息进行匹配,自…

3.1_8 两级页表

文章目录 3.1_8 两级页表(一)单级页表存在的问题(二)如何解决单级页表的问题?(三)两级页表的原理、地址结构(四)如何实现地址变换(五)需要注意的几…

SpringBoot之Bean扫描、Bean注册

目录 Bean扫描 Bean注册 Bean lmport 自定义注解 注册条件 Bean扫描 Bean扫描有两种方式 1、标签:<context:component-scan base-package"com.mybatis"/> 2、注解: ComponentScan(basePackages "com.mybatis") springboot启动类注解可以自…

Java垃圾收集器工作原理、优缺点以及使用注意事项

0.前言 Java 垃圾收集器 (GC) 是自动内存管理组件&#xff0c;负责回收不再使用的对象占用的内存。它们在管理 Java 的动态内存分配方面发挥着至关重要的作用&#xff0c;使开发人员能够专注于应用程序逻辑&#xff0c;而无需手动释放内存。JVM运行时需要GC来防止内存泄漏、优…

YOLOv5 | 涨点复现!YOLOv5添加BiFPN有效提升目标检测精度

目录 &#x1f680;&#x1f680;&#x1f680;订阅专栏&#xff0c;更新及时查看不迷路&#x1f680;&#x1f680;&#x1f680; 介绍&#xff1a; BiFPN 代码实现 ⭐欢迎大家订阅我的专栏一起学习⭐ &#x1f680;&#x1f680;&#x1f680;订阅专栏&#xff0c;更新及…

苍穹外卖-后端多模块项目搭建

由于视频中给出了项目一些基础代码,因此自己从0开始搭建一个。 文末附pom.xml。 新建项目并连接github 首先新建项目,项目名称为sky-take-out-1,如下图:父模块任何环境都不要,只需要指定springboot版本。 选定一些依赖:例如Lombok(自动注解)、SpringWeb、MyBatis Fra…

Java数据结构-二叉树

文章目录 前言一、树型结构1.1概念1.2 知识点1.3 树的表示形式1.4 树的应用 二、二叉树2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的基本操作2.5.1 二叉树的遍历2.5.2 二叉树的基本操作 前言 对学习的二叉树的知识进行总结。 一、树型结构 1.1…

学习JAVA的第二十一天(基础)

目录 多线程 线程&#xff1a; 进程&#xff1a; 并发&#xff1a; 并行&#xff1a; 多线程的实现方式&#xff1a; Thread类 Runnable接口 Callable接口和Future接口 成员方法 线程的生命周期 线程的安全问题 前言&#xff1a;学习JAVA的第二十天&…

经典数组和指针笔试题解析——C语言

【本节内容】 1. 数组和指针笔试题解析 2. 指针运算笔试题解析 1. 数组和指针笔试题解析 1.1 一维数组 #include <stdio.h> int main() {int a[] { 1,2,3,4 };printf("%zd\n", sizeof(a));printf("%zd\n", sizeof(a 0));printf("%zd\n&qu…

如何保证Redis和数据库数据一致性

缓存可以提升性能&#xff0c;减轻数据库压力&#xff0c;在获取这部分好处的同时&#xff0c;它却带来了一些新的问题&#xff0c;缓存和数据库之间的数据一致性问题。 想必大家在工作中只要用了咱们缓存势必就会遇到过此类问题 首先我们来看看一致性&#xff1a; 强一致性…

Datawhale【Sora原理与技术实战】| 学习笔记3

目录 一. 训练 Sora 模型二. 数据预处理三. 视频 VQVAE四. Diffusion Transformer 一. 训练 Sora 模型 Open-Sora 在下图中总结了 Sora 可能使用的训练流程&#xff1a; 链路: 二. 数据预处理 目前主流 LLM 框架缺乏针对 video 数据 统一便捷的管理和处理能力&#xff0c;…

第十四届蓝桥杯省赛真题 Java 研究生 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 特殊日期试题 B: 与或异或试题 C: 棋盘试题 D: 子矩阵试题 E : \mathrm{E}: E: 互质数的个数试题 F: 小蓝的旅行计划试题 G: 奇怪的数试题 H: 太阳试题 I: 高塔试题 J \mathrm{J} J : 反异或 01 串 发现宝藏 前些天发现了一个巨牛的人…

InstantID Zero-shot Identity-Preserving Generation in Seconds

InstantID: Zero-shot Identity-Preserving Generation in Seconds TL; DR&#xff1a;InstantID IP-Adapter (Face) ControlNet&#xff0c;实现了具有较高保真度的人脸 ID 生成。 方法 InstantID 想做到的事情是&#xff1a;给定一张参考人脸 ID 图片&#xff0c;生成该…

6. 面向对象(重点)

1 面向对象 1.1 了解对象 学习面向对象编程都先我们需要先思考三个问题: 1.1.1 面向对象的好处? Java作者詹姆斯.高斯林说过**万物皆对象**汽车的数据可以找汽车对象处理手机数据可以找手机对象处理学生的数据可以找学生对象处理使用面向对象编程符合人类思维习惯, 就好比…

Java的编程之旅41——字符流

目录 1.字符流的简介 2.字符的编码与解码 3.字符流读写操作 1.字符流写入 2.字符流复制文件 4.FileWriter&FileReader 5.缓冲区高效读写 6.序列化与反序列化 1.字符流的简介 在Java中&#xff0c;字符流是用于处理字符数据的输入输出流。它是以字符为单位进行处理&a…

户外大屏:六个必备的户外大屏推广工具助你脱颖而出-华媒舍

1. 大屏幕LED显示屏 大屏幕LED显示屏是一种常见而有效的户外推广工具。它采用LED背光源和高分辨率显示屏&#xff0c;能够在户外环境中展示鲜艳丰富的图像和视频内容。这种显示屏广泛应用于广场、商业街、体育场馆等公共场所&#xff0c;成为吸引人们目光的重要工具。 大屏幕…