当前位置: 首页 > news >正文

[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服务能在公网上访问。

相关文章:

  • 分布式篇---第一篇
  • CSS-背景属性篇
  • Maven镜像仓库问题
  • RubbleDB: CPU-Efficient Replication with NVMe-oF
  • 【C++11并发】future库 笔记
  • Pinia 和 Vuex 的对比
  • 构建智能医患沟通:陪诊小程序开发实战
  • 不存在类型变量 A, T 的实例,使 Collector<T, A, List<T>> 符合 Supplier<R>
  • Django 入门学习总结3
  • 使用 PowerShell 创建共享目录
  • 2023亚太杯数学建模思路 - 案例:粒子群算法
  • 【Redis篇】简述Java中操作Redis的方法
  • 【广州华锐互动】昆虫3D虚拟动态展示:探索神奇的微观世界
  • jjwt使用说明-笔记
  • win10 怎么进入cmd窗口
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【刷算法】从上往下打印二叉树
  • Spring声明式事务管理之一:五大属性分析
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 复习Javascript专题(四):js中的深浅拷贝
  • 开源SQL-on-Hadoop系统一览
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 如何在 Tornado 中实现 Middleware
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 写代码的正确姿势
  • 智能合约开发环境搭建及Hello World合约
  • 字符串匹配基础上
  • #{}和${}的区别?
  • #pragma once与条件编译
  • #QT(一种朴素的计算器实现方法)
  • (翻译)terry crowley: 写给程序员
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (过滤器)Filter和(监听器)listener
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .NET CF命令行调试器MDbg入门(一)
  • .Net Core与存储过程(一)
  • .NET 常见的偏门问题
  • .net操作Excel出错解决
  • .NET处理HTTP请求
  • @Bean, @Component, @Configuration简析
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • @Transactional 详解
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [.NET]桃源网络硬盘 v7.4
  • [1]-基于图搜索的路径规划基础
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [C#]DataTable常用操作总结【转】
  • [C++]priority_queue的介绍及模拟实现
  • [C++]命名空间等——喵喵要吃C嘎嘎
  • [delphi]保证程序只运行一个实例