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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

离线数仓(六)【ODS 层开发】

前言 今天开始正式的数仓搭建,所谓 ODS 层的工作就是把我们各种数据源采集发送来的各种类型的数据(Json、tsv类型)映射到 Hive 表中,映射时可以进行一些简单的处理,比如简单的数据清洗,舍弃一些没有必要的字…

金三银四!一个年薪160W+的就业方向!

前言 随着越来越多的科技大厂加入鸿蒙生态建设,鸿蒙开发人才正在市场上被争抢。资深工程师开出的年薪高达近百万,架构师更是高至160万,真可谓“鸿蒙猿年薪超百万”。如何抓住新技术红利,尽早上车?你会成为下一个鸿蒙开…

C语言——详解字符函数和字符串函数(一)

Hi,铁子们好呀!今天博主来给大家更一篇C语言的字符函数和字符串函数~ 具体讲的内容如下: 文章目录 🎆1.字符分类函数💯💯⏩1.1 什么是字符分类函数的?💯💯⏩1.2 字符函数的类型有哪…

一文讲懂 C++ 类和对象(1)

0. 面向过程程序设计和面向对象程序设计的区别 面向对象程序设计往往关注的是怎么去做,是将解决问题的步骤分析出来,然后用函数把步骤一步一步实现,然后再依次调用就可以了。而面向对象是将构成问题的事物,分解成若干个对象&…

基于springboot+vue实现汽车改装方案网站系统项目【项目源码+论文说明】

基于springboot实现汽车改装方案网站系统演示 摘要 本文主要讲述了基于SpringBootMySql开发技术开发的汽车改装方案网站的设计与实现。这里的汽车改装方案网站是通过一个平台使所有的汽车爱好者们可以不用出门就可以体验到专业的汽车改装方案设计服务。现实生活中如果需要进行…

牛客-DP38 【模板】二维差分

【模板】二维差分_牛客题霸_牛客网 (nowcoder.com) b站有视频:讲解前缀和和差分 二维差分_哔哩哔哩_bilibili 注意:差分的过程叫差分,而不仅仅是d[]这个数组,其他数组经行了差分的操作,就也是差分啊!&…

springcloud第3季 consul服务发现注册,配置中心2

一 consul的作用 1.1 为何使用注册中心 为何要用注册中心? 1.A服务调用B服务,使用ip和端口,如果B服务的ip或者端口发生变化,服务A需要进行改动; 2.如果在分布式集群中,部署多个服务B,多个服…

JAVA基础—集合详细解析

1.JAVA中的4种集合类型 Set:无序、不可重复的集合List:有序、重复的集合Queue: 队列Map:映射关系 首先,JAVA的集合类主要有两个接口派生而出:Collection和Map。Collection和Map就是JAVA集合的根接口。所以后…

Kubernetes弃用Dockershim,转向Containerd:影响及如何应对

Kubernetes1.24版本发布时,正式宣布弃用Dockershim,转向Containerd作为默认的容器运行环境。Kubernetes以CRI(Container Runtime Interface)容器运行时接口制定接入准则,用户可以使用Containerd、CRI-O、CRI- Dockerd及其他容器运行时作为Kub…

在Docker上传我们自己的镜像(以springboot项目为例)

首先确定好在我们的centOS服务器上已经安装并配置好docker 配置自己的springboot镜像并运行 获取springboot的jar包 maven clean--》mavenue package --》复制target目录下生成的jar包 在服务器选择一个文件夹上传jar包,我这里选用的文件夹叫做/opt/dockertest…

【话题】2024年AI辅助研发趋势,有那些应用领域

大家好,我是全栈小5,欢迎阅读文章! 此篇是【话题达人】系列文章,这一次的话题是《2024年AI辅助研发趋势》 目录 背景概念实践医药领域汽车设计领域展望未来文章推荐 背景 随着人工智能技术的持续发展与突破,2024年AI辅…

使用电脑的时候最怕有英文?微信的这个功能一定要用起来!

相信各位小伙伴对微信都不陌生。我们平常使用微信的大部分时间都是聊天、朋友圈、视频号等。 如果有人给你发来一张全英文图片的截图,你会咋整? 请人翻译?这个显然不需要。 一个个字母手打上去?这字数少了还行,但多了…

HarmonyOS NEXT应用开发之深色模式适配

介绍 本示例介绍在开发应用以适应深色模式时,对于深色和浅色模式的适配方案,采取了多种策略如下: 固定属性适配:对于部分组件的颜色属性,如背景色或字体颜色,若保持不变,可直接设定固定色值或…

strcat的模拟实现

一:strcat函数的定义: strcat函数功能的解释: 将源字符串追加(连接)到目的字符串的后面 strcat函数要点: 源字符串必须以 \0 结束。 目标空间必须有足够的大,能容纳下源字符串的内容。 目…

智慧城市与智慧乡村:共创城乡一体化新局面

一、引言 随着科技的不断进步和城乡发展的日益融合,智慧城市与智慧乡村的建设已成为推动城乡一体化发展的新引擎。智慧城市利用物联网、大数据、云计算等先进技术,实现城市治理、公共服务、产业发展等领域的智能化;而智慧乡村则借助现代科技…

spring中事务失效的场景有哪些?

异常捕获处理 在方法中已经将异常捕获处理掉并没有抛出。 事务只有捕捉到了抛出的异常才可以进行处理,如果有异常业务中直接捕获处理掉没有抛出,事务是无法感知到的。 解决:在catch块throw抛出异常。 抛出检查异常 spring默认只会回滚非检…

HTML5+CSS3+JS小实例:全屏范围滑块

实例:全屏范围滑块 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale…

手机和电脑同步的好用记事本软件有哪些

我常常需要随手记录各种信息&#xff0c;以便随时查阅和使用。比如&#xff0c;在下班路上&#xff0c;我会用手机记录明天要处理的工作事项、购物清单&#xff0c;或是某个突然迸发的创意想法&#xff1b;而在办公室&#xff0c;我则需要在电脑上整理会议纪要、项目计划&#…

C语言实战——扫雷游戏

目录 1. 扫雷游戏分析和设计2.扫雷游戏的代码实现 1. 扫雷游戏分析和设计 1.1扫雷游戏的功能说明 使用控制台实现经典的扫雷游戏游戏可以通过菜单实现继续玩或者退出游戏扫雷的棋盘是9*9的格子默认随机布置10个雷可以排查雷 如果位置不是雷&#xff0c;就显示周围有几个雷 如果…

经典数组和指针笔试题解析——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…