[Spring Cloud] Nacos 实战 + Aws云服务器

文章目录

  • 前言
  • 一、拥有一台Aws Linux服务器
    • 1.1、选择Ubuntu版本Linux系统
    • 1.2、创建新密钥对
    • 1.3、网络设置
    • 1.4、配置成功,启动实例
    • 1.5、回到实例区域
    • 1.6、进入具体的实例
    • 1.7、设置安全组
  • 二、在Mac上连接Aws云服务,并安装配置JDK11
    • 2.1、解决离奇的错误
    • 2.2、正常的连接
    • 2.3、更新apt管理软件包
    • 2.4、搜索openjdk11
    • 2.5、安装openjdk11
    • 2.6、检查Java版本
  • 3、安装Spring Cloud Nacos
    • 3.1、找到Nacos的下载地址
    • 3.2、在终端下载此地址
      • 3.2.1、在终端下,切换到软件包(soft)区域(没有可用sudo mkdir soft 创建)
      • 3.2.2、下载软件
    • 3.3、安装unzip
    • 3.4、解压Nacos压缩软件
  • 4、启动Nacos
    • 4.1、安全组开放Naocs端口
    • 4.2、访问Nacos管理端
  • 总结


前言

Java云原生微服务的发展史可以追溯到近几年云计算和微服务架构的兴起。以下是一个简化的概述:

  • 初始阶段:在云原生和微服务概念出现之前,Java应用程序通常是单体应用,所有功能都打包在一个应用中。这些应用程序部署在大型机上,随着业务需求的增长,这种模式的扩展性和维护性逐渐暴露出问题。

  • 微服务架构的出现:为了解决单体应用的问题,微服务架构逐渐流行。在这种架构中,应用被拆分成一系列小型的、独立的服务,每个服务都运行在自己的进程中,并使用轻量级通信机制进行通信。Java由于其强大的生态系统和丰富的库支持,成为微服务开发的重要语言。

  • 云原生的兴起:云原生是一种应用开发和部署的方法,它强调应用程序应该是为云环境设计的,能够充分利用云的弹性和分布式特性。云原生和微服务经常一起使用,云原生为微服务提供了最佳的运行环境。

  • Java与云原生微服务的融合:随着云原生和微服务的发展,Java社区也积极适应这种变化。例如,Spring Boot和Spring Cloud等框架的出现,使得使用Java开发云原生微服务变得更加容易。这些框架提供了开发、部署和管理微服务所需的各种功能。

  • 未来的发展:随着云原生技术的进一步发展,Java在云原生微服务领域的地位将更加重要。同时,由于Kubernetes等云原生技术的普及,Java应用程序的部署和管理也将变得更加简单和高效。

今天我们以aws云服务器 + 微服务Spring Cloud Nacos 实战为例,来体验一下云原生微服务的便捷。

一、拥有一台Aws Linux服务器

原来的文章里,我们创建了一个AWS Linux实例:【亚马逊云科技产品测评】活动征文|10分钟拥有一台AWS Linux系统,今天我们把Linux版本换成Ubuntu系统,在创建实例时,需要有针对性的调整。

1.1、选择Ubuntu版本Linux系统

点击【浏览其他AMI】,选择【Ubuntu Server 22.04 LTS(HVM) …】系统
在这里插入图片描述

1.2、创建新密钥对

创建完新密钥对,会自动下载同名的秘钥文件(aws.pem)。
在这里插入图片描述
可以把秘钥(aws.pem)移动到 Desktop文件夹下
在这里插入图片描述

1.3、网络设置

第一次创建实例,可以选择【创建安全组】
在这里插入图片描述
非第一次创建实例,可以选择【选择现有的安全组】
在这里插入图片描述

1.4、配置成功,启动实例

创建实例成功。( 这里新账号有一年期免费实例使用权,但是只能有一个实例免费。)
点击左上角的【EC2】或者【实例】
在这里插入图片描述

1.5、回到实例区域

EC2控制面板里的资源区域,可以看到正在运行的实例、安全组、弹性IP、密钥对、卷、实例等。
我们点击【实例(正在运行)】,进入正在运行的实例列表页面。
在这里插入图片描述

1.6、进入具体的实例

点击【实例ID】里的实例,进入实例详情页面。
在这里插入图片描述

1.7、设置安全组

可以看到左边的导航,以及内容页左上角的导航。
EC2 -> 实例 -> 我们选中的具体实例
在这里插入图片描述
点击【安全】,这里可以看到我们添加的【myweb】实例(默认实例开放80、22端口,不能开放8000、8848、8888等自定义端口)。
在这里插入图片描述

二、在Mac上连接Aws云服务,并安装配置JDK11

在Mac电脑上打开【终端】(Windows就是Xshell了)
在这里插入图片描述

2.1、解决离奇的错误

1.2处我们生成了aws.pem的秘钥,所以这里要选中aws.pem作为秘钥,我们可以把秘钥配置到环境变量,或者我们进入存放秘钥的文件夹操作。
比如1.2处我们把秘钥放在了Desktop ,我们第一步就是【cd Desktop】,进入到Desktop目录。
否则就会出现下面图上的错误情况
在这里插入图片描述

2.2、正常的连接

当秘钥正确,主机名无误后,就能正常连接上Aws Ubuntu Linux云服务器了。
在这里插入图片描述

2.3、更新apt管理软件包

执行【sudo apt update】命令,更新apt管理软件包配置,拉取到最新软件版本。
在这里插入图片描述

2.4、搜索openjdk11

执行【apt search openjdk】命令,会出现jdk可安装的信息列表,记住我们要安装的openjdk-11-jdk。

2.5、安装openjdk11

执行【sudo apt install openjdk-11-jdk】命令,安装openjdk-11-jdk。
在这里插入图片描述
在这里插入图片描述

2.6、检查Java版本

执行【java -version】命令,检查java的版本。我们刚才安装的是openjdk-11-jdk,这里显示【openjdk version “11.0.20.1” 2023-08-24 … 】,证明JDK 11安装配置成功。
在这里插入图片描述

3、安装Spring Cloud Nacos

可见以往的文章,云原生微服务实战 Spring Cloud Alibaba 之 Nacos,4.2部分有Nacos的可执行版本下载地址:
https://github.com/alibaba/nacos/releases/tag/2.0.4
关于Nacos的使用,在上述文章里有详细介绍,包括服务端、调用方等。
在这里插入图片描述

3.1、找到Nacos的下载地址

在github页面上找到Assets区域,并复制链接地址:https://github.com/alibaba/nacos/releases/download/2.0.4/nacos-server-2.0.4.zip
在这里插入图片描述

3.2、在终端下载此地址

3.2.1、在终端下,切换到软件包(soft)区域(没有可用sudo mkdir soft 创建)

【cd soft】
在这里插入图片描述

3.2.2、下载软件

执行命令【wget https://github.com/alibaba/nacos/releases/download/2.0.4/nacos-server-2.0.4.zip】,下载Nacos软件

此时去解压缩Nacos的压缩包,找不到unzip命令,我们需要去安装unzip工具。
在这里插入图片描述

3.3、安装unzip

执行命令【sudo apt install unzip】,下载解压缩软件,可以解压Nacos的zip压缩包。
在这里插入图片描述

3.4、解压Nacos压缩软件

执行命令【unzip nacos-server-2.0.4.zip】,解压Nacos的zip压缩包。
在这里插入图片描述

4、启动Nacos

进入到 **/nacos/bin 目录下,执行【./startup.sh -m standlone】(单机模式)
在这里插入图片描述

4.1、安全组开放Naocs端口

1、1.7部分,设置的 8888 端口
2、/nacos/conf/application.yaml文件,修改8848端口成8888
在这里插入图片描述
在这里插入图片描述

4.2、访问Nacos管理端

  • 访问地址:http://{AWS实例公网IP}/8888/nacos
  • 登录鉴权:nacos/nacos
  • 进入管理页面
    在这里插入图片描述

总结

以上就是今天要讲的内容,本文仅仅简单介绍了在Aws Ubuntu Linux系统上更新apt源、安装JDK11/unzip/nacos,并最终启动成功Spring Cloud Nacos服务,并通过开放Aws云服务安全组,使得Nacos服务能在公网上访问。

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

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

相关文章

Java Enumeration 接口

Java Enumeration 接口 这段代码展示了如何使用 Enumeration 接口来遍历 Properties 对象的键。在这里,foo.getProp() 返回一个 Properties 对象,而 propertyNames() 方法返回一个 Enumeration 对象,它包含了 Properties 对象中所有键的枚举。…

hadoop 配置历史服务器 开启历史服务器查看 hadoop (十)

1. 配置了三台服务器,hadoop22, hadoop23, hadoop24 2. hadoop文件路径: /opt/module/hadoop-3.3.4 3. hadoop22机器配置历史服务器的配置文件: 文件路径:/opt/module/hadoop-3.3.4/etc/hadoop 文件名称:mapred-size.xml 新增历…

uml时序图插件

1,打开pycharm或者idea 2,找到plugins 3,搜索 PlantUML integration 4,安装,重启 5,新建uml文件 6,写代码: startuml participant "APP" as app participant "serve…

WPS或Excel查找A列中有B列没有的值

就这一行代码: 在C列输入: IF(COUNTIF(B:B,A1)>0,"该行A列中值B列有","该行A列中值B列没有")

图像的傅里叶变换

目录 ​编辑 傅里叶基础 傅里叶基础numpy实现 逆傅里叶numpy实现 频域的高通滤波 傅里叶OpenCV实现 傅里叶OpenCV逆变换实现 频域的低通滤波 傅里叶变换有什么应用场景 傅里叶变换matlab实现 傅里叶基础 法国数学家吉恩巴普提斯特约瑟夫傅里叶被世人铭记的最大的贡献…

验证码常见安全问题与测试方法汇总

系统使用验证码主要是意图一般有两个个目的,即辅助身份验证(短信或邮箱验证码)和防止攻击者利用自动化脚本恶意攻击网站(数字,图片,视频,行为式等验证码)。 验证码的生命周期 验证码…

《向量数据库指南》——Range Search 使用方法和参数检查

Range Search 使用方法 如需使用 Range Search,只需要修改搜索请求中的搜索参数。接下来我会讲一下的详细使用指南,在指南的最后还提供了 Python 示例代码。 开始前 请确保已安装并运行 Milvus Cloud。请确保已创建 1 个 Collection,并为该 Collection 创建索引。 Ra…

TensorFlow实战教程(二十六)-什么是生成对抗网络GAN?基础原理和代码普及

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章分享了Keras实现经典的深度学习文本分类算法,包括LSTM、BiLSTM、BiLSTM+Attention和CNN、TextCNN。这篇文章将详细介绍生成对抗网络GAN的基础知识,包括什么是GAN、常用算法(CGAN、DCGAN、…

vue2.0中使用v-if/v-show切换后echarts不显示和宽高问题

vue2.0中使用v-if/v-show切换后echarts不显示和宽高问题 需求描述问题描述问题解析 解决方案使用v-show替代(不推荐)v-if使用$nextTick(推荐) 需求描述 使用ehcarts时,请求数据时加loading,请求结束后取消loading并显示…

XmlElement注解在Java的数组属性上,以产生多个相同的XML元素

例如&#xff0c;下面这段XML数据&#xff0c;有多个data元素&#xff0c;并且它们级别相同: <?xml version"1.0" encoding"UTF-8"?><request><reqtype>05</reqtype><secret>test</secret><body><userid&…

【数据结构】【版本2.0】【树形深渊】——二叉树入侵

目录 引言 一、树的概念与结构 1.1 树的概念 1.2 树的相关概念 1.3 树的表示 1.4 树在实际中的运用 二、二叉树的概念与结构 2.1 二叉树的概念 2.2 特殊二叉树 满二叉树 完全二叉树 2.3 现实中的二叉树 2.4 二叉树的性质 2.5 二叉树的存储结构 顺序存储 链式…

掌握源码,轻松搭建:一站式建站系统源码 附完整搭建步骤与教程

随着互联网的快速发展&#xff0c;网站已成为人们生活中不可或缺的一部分。然而&#xff0c;对于许多初学者或中小企业来说&#xff0c;搭建一个完整的网站系统并非易事。这涉及到前端和后端的开发、数据库管理等多个环节。为了解决这一痛点&#xff0c;我们推出了一站式建站系…

Redis变慢怎么办?

一、Redis为什么变慢了 1.Redis 真的变慢了吗&#xff1f; 对 Redis 进行基准性能测试 例如&#xff0c;我的机器配置比较低&#xff0c;当延迟为 2ms 时&#xff0c;我就认为 Redis 变慢了&#xff0c;但是如果你的硬件配置比较高&#xff0c;那么在你的运行环境下&#xf…

synchronized锁膨胀过程

轻量级锁&#xff1a; 使用场景&#xff1a;如果一个对象虽然有多线程要加锁&#xff0c;但加锁的时间是错开的&#xff08;也就是没有竞争&#xff09;&#xff0c;那么可以 使用轻量级锁来优化。 轻量级锁原理 1.创建锁记录&#xff08;Lock Record&#xff09;对象&#…

【前端学java】java中的字符串操作(10)

往期回顾&#xff1a; 【前端学java】JAVA开发的依赖安装与环境配置 &#xff08;0&#xff09;【前端学 java】java的基础语法&#xff08;1&#xff09;【前端学java】JAVA中的packge与import&#xff08;2&#xff09;【前端学java】面向对象编程基础-类的使用 &#xff08…

抖音电商双11官方数据最全汇总!

11月13日&#xff0c;抖音电商数据发布“抖音商城双11好物节”数据报告&#xff0c;展现双11期间平台全域经营情况及大众消费趋势。 报告显示&#xff0c;10月20日至11月11日&#xff0c;抖音电商里的直播间累计直播时长达到5827万小时&#xff0c;挂购物车的短视频播放了1697亿…

PEFT LoraConfig参数详解

参数高效微调 (PEFT) 可以使预训练模型高效适应下游应用&#xff0c;而无需微调所有模型参数。 PEFT 支持广泛使用的大型语言模型低秩适应 (LoRA)。 为了从预训练的 Transformer 模型创建 LoRA 模型&#xff0c;我们导入并设置 LoraConfig。 例如&#xff0c; from peft impo…

数据预处理pandas pd.json_normalize占用内存过大优化

问题描述 从ES下载数据&#xff0c;数据格式为json&#xff0c;然后由pandas进行解析&#xff0c;json中的嵌套字段会进行展开作为列名(由于维度初期无法预测&#xff0c;所以根据数据有啥列就使用啥列&#xff0c;这是最方便的点)&#xff0c;变成表格&#xff0c;方面了后续…

Proxmox download

Proxmox VE proxmox Virtual Environment是一个基于 QEMU/KVM 和 LXC 的开源服务器虚拟化管理解决方案。您可以使用集成的、易于使用的 Web 界面或通过 CLI 管理虚拟机、容器、高可用性集群、存储和网络。Proxmox VE 代码根据 GNU Affero 通用公共许可证第 3 版获得许可 Prox…

Vue typescript项目配置eslint+prettier

1.安装依赖 安装 eslint yarn add eslint --dev安装 eslint-plugin-vue yarn add eslint-plugin-vue --dev主要用于检查 Vue 文件语法 安装 prettier 及相关插件 yarn add prettier eslint-config-prettier eslint-plugin-prettier --dev安装 typescript 解析器、规则补充 …