Nacos部署(一)Linux部署Nacos2.3.x单机环境

😊 @ 作者: 一恍过去
💖 @ 主页: https://blog.csdn.net/zhuocailing3390
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: Nacos部署(一)Linux部署Nacos2.3.x单机环境
⏱️ @ 创作时间: 2024年03月23日

《Linux部署Nacos-2.3.x集群环境》
《Docker部署Nacos-2.3.x单机环境》
《Docker部署Nacos-2.3.x集群环境》

目录

  • 1、下载安装
  • 2、配置mysql环境
  • 3、修改配置
    • 3.1 application.properties
    • 3.2 startup.sh
  • 4、启动、关闭
  • 5、配置自启服务
  • 6、控制台介绍

1、下载安装

下载nacos:

本次搭建的版本为:nacos-2.3.0

下载地址:https://nacos.io/download/nacos-server,下载nacos-server-2.3.0.zip

将下载好的nacos-server-2.3.0.zip上传到服务器的/opt/cloud(手动创建)目录下。

解压nacos:

# 进入目录
cd /opt/cloud# 解压命令
unzip nacos-server-2.3.0.zip

解压后得到nacos文件夹
在这里插入图片描述

2、配置mysql环境

  • 创建数据库,比如:nacos

  • 创建表:创建表需要获取相应的sql语句。

    • 方式一:进入/opt/cloud/nacos/conf下,查找nacos-mysql.sql文件
      在这里插入图片描述

    • 方式二:从github获取语句,地址:https://github.com/alibaba/nacos/blob/master/distribution/conf/mysql-schema.sql

  • 效果:
    在这里插入图片描述

3、修改配置

注意:默认防火墙需要开发8848、9848、9849三个端口

nacos默认的端口为8848,由于Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成(分别偏移了1000和1001)

端口与主端口的偏移量描述
98481000客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
98491001服务端gRPC请求服务端端口,用于服务间同步等

比如:nacos主端口为8858,那么新增的gRPC端口为9858和9859。

3.1 application.properties

修改:

vim /opt/cloud/nacos/conf/application.properties

内容如下:

### If use MySQL as datasource:
spring.datasource.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=root
db.password=123456### 开启登录验证
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=nacos #任意值
nacos.core.auth.server.identity.value=nacos #任意值
# 自定义指定生成JWT的密钥,使用BASE64进行编码,编码前的key长度必须不小于32个字符
nacos.core.auth.plugin.nacos.token.secret.key=

nacos.core.auth.plugin.nacos.token.secret.key生成步骤:
1、使用openssl rand -hex 32获取密钥值
在这里插入图片描述
2、将密钥值再进行base编码
访问:https://base64.us/,输入密钥进行base64编码
在这里插入图片描述

3.2 startup.sh

startup.sh中主要根据当前服务器的配置修改JVM大小,比如:修改为1G或者更大或者更小。

修改:

vim /opt/cloud/nacos/bin/startup.sh

内容如下:

JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn512m"

在这里插入图片描述

4、启动、关闭

启动:

cd  /opt/cloud/nacos/bin
sh startup.sh -m standalone

停止:

cd  /opt/cloud/nacos/bin
sh shutdown.sh

测试:
通过:http://112.14.15.16:8848/nacos,成功访问nacos则表示搭建成功。
默认账户:nacos
默认密码:nacos,为了安全在第一次进入到nacos以后最好修改一次密码。
在这里插入图片描述
在这里插入图片描述

5、配置自启服务

自启服务需要手动配置JAVA_HOME路径路径,修改 /bin/startup.sh文件

查询jdk配置:

#1、查询jdk配置
echo $JAVA_HOME
# 2、结果
/usr/local/java/jdk1.8.0_131

修改为指定jdk:

# 修改配置
vim start.sh# 内容
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/java/jdk1.8.0_131

在这里插入图片描述

创建自启服务:

vim /usr/lib/systemd/system/nacos.service

加入内容:

[Unit]
Description=nacos
After=network.target[Service]
Type=forking
# 单节点方式启动,填写实际路径
ExecStart=/opt/cloud/nacos/bin/startup.sh -m standalone
# 集群方式启动-外部数据源启动,填写实际路径
# ExecStart=/opt/cloud/nacos/bin/startup.shExecStop=/opt/module/nacos/bin/shutdown.sh
PrivateTmp=true[Install]
WantedBy=multi-user.target

加入自启:

systemctl daemon-reload
systemctl enable nacos.service

操作命令:

# 启动
systemctl start  nacos# 停止
systemctl stop  nacos

6、控制台介绍

Nacos 控制台主要旨在于增强对于服务列表,健康状态管理,服务治理,分布式配置管理等方面的管控能力,包括下列常用操作:

  • 服务管理

    • 服务列表及服务健康状态展示
    • 服务元数据存储及编辑
    • 服务流量权重的调整
    • 服务优雅上下线
  • 配置管理

  • 命名空间

  • 登录管理

服务管理
开发者或者运维人员往往需要在服务注册后,通过友好的界面来查看服务的注册情况,包括当前系统注册的所有服务和每个服务的详情。并在有权限控制的情况下,进行服务的一些配置的编辑操作。Nacos在这个版本开放的控制台的服务发现部分,主要就是提供用户一个基本的运维页面,能够查看、编辑当前注册的服务。

服务列表管理
服务列表帮助用户以统一的视图管理其所有的微服务以及服务健康状态。整体界面布局是左上角有服务的搜索框和搜索按钮,页面中央是服务列表的展示。服务列表主要展示服务名、集群数目、实例数目、健康实例数目和详情按钮五个栏目。
在这里插入图片描述
在服务列表页面点击详情,可以看到服务的详情。可以查看服务、集群和实例的基本信息。

服务流量权重支持及流量保护
Nacos 为用户提供了流量权重控制的能力,同时开放了服务流量的阈值保护,以帮助用户更好的保护服务服务提供者集群不被意外打垮。如下图所以,可以点击实例的编辑按钮,修改实例的权重。如果想增加实 例的流量,可以将权重调大,如果不想实例接收流量,则可以将权重设为0。
在这里插入图片描述

服务元数据管理
Nacos提供多个维度的服务元数据的暴露,帮助用户存储自定义的信息。这些信息都是以K-V的数据结构存储,在控制台上,会以k1=v1,k2=v2这样的格式展示。类似的,编辑元数据可以通过相同的格式进行。例如服务的元数据编辑,首先点击服务详情页右上角的“编辑服务”按钮,然后在元数据输入框输入:version=1.0,env=prod。
在这里插入图片描述
点击确认,就可以在服务详情页面,看到服务的元数据已经更新了。
在这里插入图片描述

服务优雅上下线
Nacos还提供服务实例的上下线操作,在服务详情页面,可以点击实例的“上线”或者“下线”按钮,被下线的实例,将不会包含在健康的实例列表里。
在这里插入图片描述

配置管理
Nacos支持基于Namespace和Group的配置分组管理,以便用户更灵活的根据自己的需要按照环境或者应用、模块等分组管理微服务以及Spring的大量配置,在配置管理中主要提供了配置历史版本、回滚、订阅者查询等核心管理能力。在这里插入图片描述
多配置格式编辑器
Nacos支持 YAML、Properties、TEXT、JSON、XML、HTML 等常见配置格式在线编辑、语法高亮、格式校验,帮助用户高效编辑的同时大幅降低格式错误带来的风险。

Nacos支持配置标签的能力,帮助用户更好、更灵活的做到基于标签的配置分类及管理。同时支持用户对配置及其变更进行描述,方面多人或者跨团队协作管理配置。
在这里插入图片描述
监听者查询
Nacos提供配置订阅者即监听者查询能力,同时提供客户端当前配置的MD5校验值,以便帮助用户更好的检查配置变更是否推送到 Client 端。
在这里插入图片描述
命名空间管理
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

是德科技KEYSIGHT E4990A阻抗分析仪

181/2461/8938产品概述: E4990A 阻抗分析仪具有 20 Hz 至 120 MHz 的频率范围,可在宽阻抗范围内提供出色的 0.045%(典型值)基本准确度,并内置 40 V 直流偏置源,适用于元器件、半导体和材料测量。 无论研发、生产、质…

第四百二十五回

文章目录 1. 概念介绍2. 实现方法3. 示例代码4. 内容总结 我们在上一章回中介绍了"使用intl插件时遇到的问题"相关的内容,本章回中将介绍实现splash页面的另外一种方法.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的…

YOLOv9改进策略:卷积魔改 | SPD-Conv,低分辨率图像和小物体涨点明显

💡💡💡本文改进内容:SPD-Conv由一个空间到深度(SPD)层和一个无卷积步长(Conv)层组成,特别是在处理低分辨率图像和小物体等更困难的任务时。 💡💡💡SPD-Conv在多个数据集验证能够暴力涨点&#x…

Java基础入门day20

day20 思考 父类中含有一个无参的test方法,子类含有一个带参的test方法 问题:子类中的带参test方法与父类的无参test方法之间是什么关系? package com.saas; ​ public class Father { ​public void test(){System.out.println("this …

python项目练习——2.天气预报应用程序

项目功能讲解: 这个项目可以让用户输入城市名称,然后返回该城市当前的天气情况,比如温度、湿度、风速等。这个项目涉及到从网络获取数据,解析 JSON 格式的响应以及处理用户输入等技术。 下面是代码示例: import requ…

网工内推 | 松下电器,解决方案工程师,最高25K,IE认证优先

01 松下电器 招聘岗位:基盘解决方案架构师 职责描述: 1、网络的规划设计,架构实施和故障排渣以及调优 2、负责网络设备的选型、搭建、系统监控、故障解决、性能优化 3、负责对集团内相关业务,进行提案或项目管理相关工作 4、对…

Linux制作yum离线源,解决安装RPM包时循环依赖。

在生产环境中,有时服务器是不能访问互联网的,当遇到某些软件安装,会碰到缺少各种依赖包的问题,因此使用制作yum源的方式来安装软件非常方便。 主要原理是,通过 yum 下载所有RPM包,上传RPM包到服务器后安装…

Vue3新手教程

Vue3新手教程 一. Vue3简介1. 性能的提升2.源码的升级3. 拥抱TypeScript4. 新的特性 二. 创建Vue3工程1. 基于 vue-cli 创建2. 基于 vite 创建(推荐)3. 一个简单的效果 三. Vue3核心语法1. OptionsAPI 与 CompositionAPI2. 拉开序幕的 setup2.1 setup 概述2.2 setup 的返回值2.…

typeScript6(其他类型)

1、void void表示没有任何类型,和其他类型是平等关系,不能直接赋值。我们只能为它赋值null或undefined(在strictNullChecks未指定为true时)。一般只有在函数没有返回值时去声明。 2、never never类型表示的是那些永不存在的值的…

自动化脚本-Excel批量生成二维码

演示: Excel二维码批量生成 exe资源文件: 下载exe 代码实现: pip install openpyxl openpyxl 是一个用于读写 Excel 文件的 Python 库 pip install qrcode qrcode 是一个 Python 库,可以用来生成二维码(Quick Resp…

小目标检测篇 | YOLOv8改进之GSConv + Slim Neck提升小目标检测效果

前言:Hello大家好,我是小哥谈。在文章中,作者提出了一种新方法GSConv来减轻模型的复杂度并保持准确性。GSConv可以更好地平衡模型的准确性和速度。并且,提供了一种设计范式Slim Neck,以实现检测器更高的计算成本效益。实验过程中,与原始网络相比,改进方法获得了最优秀的…

【MySQL】锁

一、并发事务访问相同记录的三种情况 读-读情况   并发事务相继读取相同的记录,不会产生什么问题。 写-写情况   这种情况下会发生脏写的问题。 读-写或写-读情况   会发生脏读、不可重复读、幻读的情况 并发问题的解决方案 读操作利用多版本并发控制&am…

论文翻译 - Defending Against Alignment-Breaking Attacks via Robustly Aligned LLM

论文链接:https://arxiv.org/pdf/2309.14348.pdf Defending Against Alignment-Breaking Attacks via Robustly Aligned LLM Abstract1 Introduction2 Related Works3 Our Proposed Method3.1 Threat Model3.2 Our Proposed Method3.3 Practical Designs3.4 Theoret…

docker centos7在线安装mysql8.x

目录 1. 安装mysql8.x2.配置开机启动3.修改root密码和配置远程访问 1. 安装mysql8.x # 安装MySQL cd /usr/local/mysql # 下载rpm安装包 wget https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm yum -y localinstall mysql80-community-release-el7-3.noarc…

java的ArrayList类

ArrayList<E>E是自定义数据类型 ArrayList类&#xff1a; 构造函数&#xff1a; 成员方法&#xff1a; public boolean add(E e)&#xff1a; 将指定元素加到集合末尾 Appends the specified element to the end of this list. public class Array {public static…

动听的洗牌游戏(Java篇ArrayList实操)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

LeetCode - 存在重复元素

219. 存在重复元素 II 这道题可以用两个方法解决。 哈希表 从左到右遍历数组&#xff0c;并将数组的下标存到hash中&#xff0c;在遍历数字的过程中&#xff0c;如果hash中不存在nums[i]&#xff0c;将nums[i]加入到hash当中&#xff0c;若存在&#xff0c;则判断下标之间的关…

深入理解Elasticsearch高效原理

在当今数据驱动的世界中&#xff0c;能够快速有效地存储、搜索和分析庞大数据集变得至关重要。Elasticsearch是一个强大的开源搜索和分析引擎&#xff0c;专为云计算中心而设计&#xff0c;能够提供快速的搜索功能&#xff0c;并且能够扩展到包含数百个服务器的集群&#xff0c…

Java面试题:请解释Java中的继承和多态?

一、请解释Java中的继承和多态&#xff1f; Java中的继承&#xff08;Inheritance&#xff09;和多态&#xff08;Polymorphism&#xff09;是面向对象编程&#xff08;OOP&#xff09;的两大基本特性&#xff0c;它们允许开发者创建灵活、可扩展的代码。 继承 继承是一种允许…

C#事件实例详解

一、什么是事件&#xff1f; 在C#中,事件(event)是一种特殊的类成员,它允许类或对象通知其他类或对象发生了某些事情。 从语法上看,事件的声明类似于字段,但它们在功能和行为上有一些重要的区别。 从技术角度来说,事件实际上是一个封装了事件订阅和取消订阅功能的委托字段。…