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.mzph.cn/news/744332.shtml

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

相关文章

IT营销师行业市场分析报告

一、行业概述 随着数字化转型的浪潮席卷全球,IT营销师行业作为连接信息技术与市场营销的关键桥梁,近年来呈现出强劲的增长态势。IT营销师凭借其独特的技能组合,即深入理解IT产品和服务的技术特性以及精准把握市场需求,正在为企业…

DVWA-master 存储型xss

什么是存储型xss 存储型xss意味着可以与数据库产生交互的,可以直接存在数据库中 先将DVWA安全等级改为低 先随便写点东西上传 我们发现上传的内容会被显示,怎么显示的呢? 它先是上传到数据库中,然后通过数据库查询语句将内容回显 …

MySQL 篇-深入了解事务四大特性及原理

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 事务的概述 2.0 事务的特性 2.1 原子性 2.2 一致性 2.3 持久性 2.4 隔离性 2.4.1 脏读问题 2.4.2 不可重复读问题 2.4.3 幻读问题 3.0 事务的四个隔离级别 3.1…

WAAP全站防护

近年来,随着移动互联网的快速发展,诞生了APP、H5、小程序等多种应用形式,更多的企业核心业务、交易平台都越来越依赖这些新型应用程序。与此同时,越来越多的第三方API接口被调用,API业务带来的Web敞口风险和风险管控链…

H5自适应点状球动态背景个人主页源码

源码名称:自适应点状球动态背景个人主页源码 源码介绍:一款H5自适应点状球背景个人主页源码,带有个人联系方式、个人介绍、足迹、会的技能、相册、旗下站点、留言发邮箱功能【仅前端代码需自行配置或修改为其他功能】。可自行修改为你的个人…

LabVIEW电磁阀特性测控系统

LabVIEW电磁阀特性测控系统 电磁阀作为自动化工程中的重要组成部分,其性能直接影响系统的稳定性和可靠性。设计一种基于LabVIEW的电磁阀特性测控系统,通过高精度数据采集和智能化控制技术,实现电磁阀流阻、响应时间及脉冲特性的准确测量和分…

用机床测头为什么能提升加工中心精度?提高生产效率?

制造业的蓬勃发展为企业提出了更高的精度和效率要求。在现代制造业中,机床测头作为一种关键的检测装置,能够实时监控加工过程中的误差,及时调整,保证加工质量的稳定性,提高加工中心的精度,进而提升生产效率…

打开链接跳转的模式

摘要: 今天遇到一个需求:后台小程序的域名下打开微信客服链接的!但是小程序的域名拒绝任何第三方域名,跨域了!为了上线这微信客服的功能,打开新页签,脱离小程序的域名实现微信客服链接的跳转启动…

MISC:杂项

一、文件类型识别 背景&#xff1a;遇到文件没有后缀&#xff0c;不知道文件类型。 方法一、使用Linux中的file命令 原理&#xff1a;file命令会识别文件的文件头&#xff0c;通过文件头识别出文件类型。 命令格式&#xff1a;file <filename> 而文件头则可通过010edito…

Android 录屏操作

Android 录屏操作 本文主要介绍android中如何通过MediaRecorder实现录屏操作的. 1: 申请权限 <uses-permission android:name"android.permission.RECORD_AUDIO" /> <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"…

计讯物联水库泄洪监测预警系统,保障水库安全度汛

近日&#xff0c;受台风外围环流影响&#xff0c;多地受到特大暴雨侵袭。因此水库泄洪是势在必行。泄洪作为水库防洪的重要方法之一&#xff0c;水库可通过其库容拦蓄洪水&#xff0c;在水库容量超出或下游需求的时候则开始实行泄洪&#xff0c;达到减免洪水灾害的目的&#xf…

画图实战-Python实现某产品全年销量数据多种样式可视化

画图实战-Python实现某产品全年销量数据多种样式可视化 学习心得Matplotlib说明什么是Matplotlib&#xff1f;Matplotlib特性Matplotlib安装 产品订单量-折线图某产品全年订单量数据数据提取和分析绘制折线图 产品订单&销售额-条形图某产品全年订单&销售额数据绘制条形…

TypeScript(六)条件类型,函数,装饰器

条件类型 TypeScript 中的条件类型是一种高级类型&#xff0c;它使我们根据不同的条件创建更复杂的类型。 TS中的条件类型就是在类型中添加条件分支&#xff0c;以支持更加灵活的泛型 条件类型允许我们根据某个类型的属性是否满足某个条件&#xff0c;来确定最终的类型。 type…

【智能算法】蜻蜓算法(DA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.代码实现4.参考文献 1.背景 2016年&#xff0c;Mirjalili受到蜻蜓静态和动态集群行为启发&#xff0c;提出了蜻蜓算法(Dragonfly algorithm, DA)。 2.算法原理 2.1算法思想 蜻蜓集群有两种行为目的&#xff1a;狩猎&#xf…

高端新颖知识竞赛活动方案

设计一场高端新颖知识竞赛活动&#xff0c;需要组织者用心策划&#xff0c;精心准备。下面这场竞赛设计新颖&#xff0c;可供大家组织竞赛活动时参考 。本竞赛分为“万箭齐发”、“城旗易主”、“群雄逐鹿”、“追风逐电”&#xff0c;四个环节&#xff0c;所有环节必须在主持人…

【CesiumJS-5】绘制动态路线实现飞行航线、汽车轨迹、路径漫游等

实现效果 前言 Cesium中&#xff0c;动态路线绘制的核心是借助CZML格式&#xff0c;CZML是一种用来描述动态场景的JSON数组,可以用来描述点、线、多边形、体、模型及其他图元,同时定义它们是怎样随时间变化的&#xff1b; CZML主要做三件事&#xff1a; 1.添加模型信息 2.添加…

如何在Linux系统部署APITable容器并实现无公网IP远程管理本地数据

文章目录 前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台&#xff0c;是一款面向 API 的智能多维表格。它将复杂的可视化数据库、电子表格、实时在线协同、低代码开发技术四合为一&am…

C#,蛇梯问题(Snake and Ladder Problem)的算法与源代码

1 蛇梯问题 Snake and Ladder Problem 给定一个蛇梯板,找出从源单元格或第一个单元格到达目标单元格或最后一个单元格所需的最小掷骰次数。基本上,玩家可以完全控制掷骰子的结果,并希望找出到达最后一个单元格所需的最小掷骰次数。 如果玩家到达的牢房是梯子的底部,玩家…

金融防线升级:构筑数据安全的不可逾越之墙

近日&#xff0c;中国人民银行专栏《金融科技支持高质量发展》指出&#xff0c;应不断增强金融行业的网络安全和数据安全保障能力&#xff0c;坚持总体国家安全观&#xff0c;持续完善金融网络安全、数据安全制度体系&#xff0c;依法开展金融业关键信息基础设施安全保护工作&a…

mac删除带锁标识的app

一 、我们这里要删除FortiClient.app 带锁 常规方式删除不掉带锁的 app【如下图】 二、删除命令&#xff0c;依次执行即可。 /bin/ls -dleO /Applications/FortiClient.app sudo /usr/bin/chflags -R noschg /Applications/FortiClient.app /bin/ls -dleO /Applications/Forti…