AWS云服务器EC2实例进行操作系统迁移
AWS云服务器EC2实例进行操作系统迁移
文章目录
- AWS云服务器EC2实例进行操作系统迁移
- 1. 亚马逊EC2云服务器简介
- 1.2 亚马逊EC2云务器与弹性云服务器区别
- 2. 亚马逊EC2云服务器配置流程
- 2.1 亚马逊EC2云服务器实例配置
- 2.1.1 EC2实例购买教程
- 2.1.1 EC2实例初始化配置
- 2.1.2 远程登录EC2服务器实例
- 3. Redhat迁移到openeuler服务器
- 3. 1. 准备工作
- 3.2. 升级准备
- 3.2.1 修改redhat配置
- 3.2.2. redhat主机挂载redhat7.3镜像
- 3.2.2.1 更换yum包
- 3.2.2.2 redhat跳过验证
- 3.2.3 挂载redhat7.3
- 3.5 辅助机安装配置
- 3.2.5.1 x2openEuler安装
- 3.2.5.2 x2openEuler启动
- 3.2.5.3 辅助机挂载Bclinux for Euler 21.10
- 3.6. 操作系统升级
- 4. 总结
1. 亚马逊EC2云服务器简介
亚马逊EC2(Elastic Compute Cloud)云服务是亚马逊AWS(Amazon Web Services)提供的一种云计算服务。它允许用户租用虚拟计算资源,包括CPU、内存、存储和网络带宽,以满足他们的计算需求。核心特点和优势如下:
- 灵活性:用户可以根据需要随时启动、停止、调整和删除EC2实例,以便满足不断变化的计算需求。
- 可靠性:提供高可用性和容错性,确保用户的应用程序能始终保持运行状态。此外,亚马逊EC2的服务等级协议承诺为每个EC2地区提供99.99%的可用性。
- 安全性:提供了多层安全措施,包括网络隔离、数据加密和身份验证,以保护用户的数据和应用程序免受攻击。
- 成本效益:采用按需计费模式,用户只需支付实际使用的计算资源费用,无需预先投资硬件或承担维护和管理物理服务器的费用。
- 可扩展性和功能性:提供了根据需要扩大或缩小规模的设施,能轻松处理各种动态场景。为用户提供了一个真正的虚拟计算平台,可以在其中执行各种操作。
1.2 亚马逊EC2云务器与弹性云服务器区别
- 亚马逊EC2云服务器与国内云厂商提供的云服务器在技术上的优势有以下几个方面:
- 成熟的技术和丰富的经验:亚马逊作为最早的云服务提供商之一,拥有多年的技术积累和经验沉淀。其在技术实现、稳定性、可靠性等方面具有较为明显的优势。
- 全球基础设施:在全球范围内建立了庞大的数据中心网络,可以在全球范围内提供低延迟、高性能的计算服务。对国内出海用户部分便利
- 强大的弹性和可扩展性:允许用户根据实际需求快速增加或减少服务器资源,这种灵活性使得用户能够根据业务需求快速调整服务器规模,从而降低了成本和管理的复杂性。
- 丰富的服务和功能:提供了丰富的附加服务和功能,如数据库、存储、网络、安全等。这些服务和功能与EC2云服务器紧密结合,为用户提供了一站式的云计算解决方案。
- 开放性和兼容性:支持多种操作系统和开发工具,具有良好的开放性和兼容性。使用户能够轻松地将现有的应用程序迁移到EC2云服务器上,并对其进行定制和优化。
2. 亚马逊EC2云服务器配置流程
2.1 亚马逊EC2云服务器实例配置
2.1.1 EC2实例购买教程
因为AWS为国外云服务提供商,和目前国内主流的云服务提供商的购买流程略有差别,所以在此一并介绍如何购买并使用AWS云服务器EC2实例
进入AWS官网: https://aws.amazon.com/cn/

点击左上角登录,进入控制台,然后在控制台首页访问EC2

在EC2控制台可以看到我们已经购买的云服务器和一些相关信息

若没有购买相关Ec2实例,若用户为初次使用亚马逊云服务相关资源,则可以免费获得一年的Ec2实例资源使用权限。
下面将展示如何领取或者购买EC2实例资源
点击启动实例
在启动之前需要选择服务器所在区域,区域选择在控制台左上角

关于镜像选择,大家可以根据自己的实际需求选择合适的镜像,这里我选择的是Redhat,然后选择符合买条件的免费套餐,这样我们就可以免费获取相关资源,当然,免费资源的规格类型为1c-1g,如果需要更高规格服务器,则需要付费购买。
选择完操作系统后,我们需要选择密钥对来进行后续的登录操作,若没有密钥对,则需要手动创建新的密钥对
创建好新的秘钥对后需要将其pem文件下载到本地,方便后续进行远程ssh登录。
AWS的云服务器EC2的创建阶段和国内其他云服务器厂商的购买流程配置上也有些区别,比如,无法在初始化时直接通过root密码登录,需要通过密钥对登录后设置root密码
在网络配置阶段,选择启用公网IP,同时根据自己的业务需求设置不同的安全组
存储则需要根据业务需求进行选择,我这里选择40GB(后续可以更改)
全部填写完后,选择启动实例
2.1.1 EC2实例初始化配置
在购买完EC2实例后,我们返回控制台进行查看,可以看到刚才购买的云服务器正在初始化,等待大约5分钟后会初始化完成
点击进去查看详情
可以看到此云服务器的详细配置信息
在登录之前,需要确认安全组已经放通相关端口
2.1.2 远程登录EC2服务器实例
每个人的喜好不太一样,常用的shell登录终端有很多,这里我使用的是Finalshell
Finalshell是一款强大的终端工具,它集成了SSH客户端、X服务器和Unix命令集工具箱。在Windows操作系统下,MobaXterm可以帮助用户轻松地连接并操作Linux服务器。
Finalshell具有以下特点:
- 集成了SSH客户端:通过内嵌SSH客户端,可以快速建立与Linux服务器的安全连接,实现远程登录和管理。
- 支持X服务器:集成了X服务器,可以在Windows上运行Unix/Linux环境,并支持图形界面应用程序。
- 提供Unix命令集:集成了Unix命令集(GNU/Cygwin),用户可以在Windows上运行大多数Linux命令,实现高效的终端操作。
- 多终端视窗:支持开启多个终端视窗,可以同时连接多个Linux服务器,并进行灵活的终端管理。
- 可扩展性强:可以通过集成插件来扩展功能,例如运行Gcc、Perl、Curl、Tcl/Tk/Expect等程序。
- 免费开源:分为免费开源版和收费专业版,用户可以免费使用开源版,并根据需求选择专业版以获得更多的功能和更好的技术支持。
新建ssh登录,填写EC2实例的ip和用户名并通过刚才设置的密钥对进行登录
登录成功
3. Redhat迁移到openeuler服务器
3. 1. 准备工作
- 辅助机:centos7.6
- redhat7.3镜像
- Bclinux for euler 21.10镜像
- 辅助机和待升级节点在同一网段可以相互联通
- x2openEuler升级工具及其依赖包
- ssh任一登录软件
3.2. 升级准备
3.2.1 修改redhat配置
首先将辅助机和待升级节点配置在同一网段
打开虚拟网络编辑器
选择NAT
模式,点击确认。(需要在管理员模式下打开)
此时在待升级节点输入命令查看本机ip
ifconfig -a
如果没有看到虚拟网卡配置的ip,可以进入
/etc/sysconfig/network-scripts
查看ens33网卡是cd /etc/sysconfig/network-scripts vi ifcfg-ens33
将onboot=no改成onboot=yes
然后重启网卡
systemctl restart network
再次查看ip
ficonfig -a
可以看到NAT模式下带升级节点ip分配为192.168.17.131
使用辅助机节点去ping该节点,网络正常
3.2.2. redhat主机挂载redhat7.3镜像
将rehhat7.3镜像放在带升级节点 /mnt
下面
redhat系统安装好尽管默认带有yum,但是redhat的更新包只对注册用户有效(收费)。所以需要更换yum源
3.2.2.1 更换yum包
基本的流程就是:
1.删除redhat7.0系统自带的yum软件包;
2.自行下载所需要的软件包;
3.根据依赖项安装;
4.新建repo配置文件。
1、查看自带的yum软件包
输入
rpm -qa | grep yum
[root@localhost network-scripts]# rpm -qa | grep yum
yum-rhn-plugin-2.0.1-6.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-langpacks-0.4.2-7.el7.noarch
yum-3.4.3-150.el7.noarch
yum-utils-1.1.31-40.el7.noarch
这下面列出来的软件包,要记住一下,后面要根据其来搜索rpm包来安装新版本。比如”yum-utils”、”yum-langpacks”等等。
2、卸载这些安装包
rpm -qa | grep yum | xargs rpm -e --nodeps
3、进入以下任意一个网站下载对应的rpm包
阿里云网络源地址:https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
网易163网络源地址:http://mirrors.163.com/
CentOS网络源地址:http://centos.ustc.edu.cn/centos/
下载完后上传到服务器分别安装
安装时出现报错
[root@localhost /]# rpm -ivh yum-*
警告:yum-3.4.3-168.el7.centos.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
错误:依赖检测失败:rpm >= 0:4.11.3-22 被 yum-3.4.3-168.el7.centos.noarch 需要yum-plugin-fastestmirror 被 yum-3.4.3-168.el7.centos.noarch 需要
另外再回去找安装包下载下来:
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-4.11.3-32.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm
输入指令更新rpm:
[root@localhost /]# rpm -ivh yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm --nodeps
警告:yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...1:yum-plugin-fastestmirror-1.1.31-5################################# [100%]
[root@localhost /]# rpm -ivh yum-3.4.3-168.el7.centos.noarch.rpm --nodeps
警告:yum-3.4.3-168.el7.centos.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...1:yum-3.4.3-168.el7.centos ################################# [100%]
再次运行。
rpm -ivh yum-*
[root@localhost /]# rpm -Uvh rpm-4.11.3-45.el7.x86_64.rpm
警告:rpm-4.11.3-45.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
错误:依赖检测失败:rpm = 4.11.3-21.el7 被 (已安裝) rpm-libs-4.11.3-21.el7.x86_64 需要rpm = 4.11.3-21.el7 被 (已安裝) rpm-python-4.11.3-21.el7.x86_64 需要
[root@localhost /]# rpm -Uvh rpm-4.11.3-45.el7.x86_64.rpm --nodeps
警告:rpm-4.11.3-45.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...1:rpm-4.11.3-45.el7 ################################# [ 50%]
正在清理/删除...2:rpm-4.11.3-21.el7 ################################# [100%]
[root@localhost /]# rpm -ivh yum-*
警告:yum-3.4.3-168.el7.centos.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]软件包 yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch 已经安装软件包 yum-3.4.3-168.el7.centos.noarch 已经安装
3.2.2.2 redhat跳过验证
vi /etc/yum/pluginconf.d/subscription-manager.conf[main]
enabled=0 #将1改成0
3.2.3 挂载redhat7.3
挂载redhat 7.3
mkdir redhat73
mount -o loop /mnt/rhel-server-7.3-x86_64-dvd.iso /mnt/redhat73/
[root@localhost mnt]# mkdir redhat73
[root@localhost mnt]# mount /mnt/rhel-server-7.3-x86_64-dvd.iso /mnt/r
redhat73/ rhel-server-7.3-x86_64-dvd.iso
[root@localhost mnt]# mount -o loop /mnt/rhel-server-7.3-x86_64-dvd.iso /mnt/redhat73/
mount: /dev/loop0 写保护,将以只读方式挂载
[root@localhost mnt]#
进入下面目录
cd /etc/yum.repos.dvi redhat.repo
输入下面内容到
[redhat73]name=redhat73baseurl=file:///mnt/redhat73/
enabled=1
gpgcheck=0
保存好后退出,执行下面命令
yum clean all
yum makecache
yum repolist
3.5 辅助机安装配置
3.2.5.1 x2openEuler安装
x2openEuler下载地址:https://www.openeuler.org/zh/migration/download/
版本依赖下载:https://repo.oepkgs.net/openEuler/rpm/openEuler-20.03-LTS-SP1/contrib/x2openEuler/noarch/Packages/
下载好后上传到辅助机,分别安装
yum install -y x2openEuler-*
关闭防火墙和selinux
systemctl stop firewalld
set selinux 0
3.2.5.2 x2openEuler启动
打开目录并启动x2openEuler
[root@localhost x2openEuler-upgrade]# cd /usr/local/x2openEuler/portal/service
[root@localhost service]# bash service_start.sh
Start Nginx service and Gunicorn service
Ip address list:
sequence_number ip_address device
[1] 192.168.220.132 ens33
Enter the sequence number of listed ip as web server ip(default: 1):
Set the web server IP address 192.168.220.132
Please enter HTTPS port(default: 18082):
The HTTPS port 18082 is valid. Set the HTTPS port to 18082 (y/n default: y):
Set the HTTPS port 18082
Please enter gunicorn port(default: 18080):
The GUNICORN port 18080 is valid. Set the GUNICORN port to 18080 (y/n default: y):
3.2.5.3 辅助机挂载Bclinux for Euler 21.10
安装httpd并启动httpd
yum install -y httpd
systemctl start httpd
systemctl stop firewalld
[root@localhost ~]# yum install -y httpd
已加载插件:fastestmirror, langpacks
Determining fastest mirrors* base: mirrors.nju.edu.cn* extras: mirrors.nju.edu.cn* updates: mirrors.163.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/4): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/4): extras/7/x86_64/primary_db | 249 kB 00:00:00
(3/4): base/7/x86_64/primary_db | 6.1 MB 00:00:00
(4/4): updates/7/x86_64/primary_db | 20 MB 00:00:26
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-98.el7.centos.6 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-98.el7.centos.6,它被软件包 httpd-2.4.6-98.el7.centos.6.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-98.el7.centos.6.x86_64 需要
--> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 httpd-2.4.6-98.el7.centos.6.x86_64 需要
--> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 httpd-2.4.6-98.el7.centos.6.x86_64 需要
--> 正在检查事务
---> 软件包 apr.x86_64.0.1.4.8-7.el7 将被 安装
---> 软件包 apr-util.x86_64.0.1.5.2-6.el7 将被 安装
---> 软件包 httpd-tools.x86_64.0.2.4.6-98.el7.centos.6 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成依赖关系解决===========================================================================================================Package 架构 版本 源 大小
===========================================================================================================
正在安装:httpd x86_64 2.4.6-98.el7.centos.6 updates 2.7 M
为依赖而安装:apr x86_64 1.4.8-7.el7 base 104 kapr-util x86_64 1.5.2-6.el7 base 92 khttpd-tools x86_64 2.4.6-98.el7.centos.6 updates 94 kmailcap noarch 2.1.41-2.el7 base 31 k事务概要
===========================================================================================================
安装 1 软件包 (+4 依赖软件包)总下载量:3.0 M
安装大小:10 M
Downloading packages:
警告:/var/cache/yum/x86_64/7/base/packages/apr-1.4.8-7.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
apr-1.4.8-7.el7.x86_64.rpm 的公钥尚未安装
(1/5): apr-1.4.8-7.el7.x86_64.rpm | 104 kB 00:00:00
(2/5): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:00
(3/5): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:00
httpd-tools-2.4.6-98.el7.centos.6.x86_64.rpm 的公钥尚未安装
(4/5): httpd-tools-2.4.6-98.el7.centos.6.x86_64.rpm | 94 kB 00:00:00
(5/5): httpd-2.4.6-98.el7.centos.6.x86_64.rpm | 2.7 MB 00:00:00
-----------------------------------------------------------------------------------------------------------
总计 7.6 MB/s | 3.0 MB 00:00:00
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:用户ID : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"指纹 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5软件包 : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装 : apr-1.4.8-7.el7.x86_64 1/5 正在安装 : apr-util-1.5.2-6.el7.x86_64 2/5 正在安装 : httpd-tools-2.4.6-98.el7.centos.6.x86_64 3/5 正在安装 : mailcap-2.1.41-2.el7.noarch 4/5 正在安装 : httpd-2.4.6-98.el7.centos.6.x86_64 5/5 验证中 : httpd-tools-2.4.6-98.el7.centos.6.x86_64 1/5 验证中 : mailcap-2.1.41-2.el7.noarch 2/5 验证中 : apr-1.4.8-7.el7.x86_64 3/5 验证中 : httpd-2.4.6-98.el7.centos.6.x86_64 4/5 验证中 : apr-util-1.5.2-6.el7.x86_64 5/5 已安装:httpd.x86_64 0:2.4.6-98.el7.centos.6 作为依赖被安装:apr.x86_64 0:1.4.8-7.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd-tools.x86_64 0:2.4.6-98.el7.centos.6 mailcap.noarch 0:2.1.41-2.el7 完毕!
[root@localhost ~]# systemctl start httpd
#启动httpd后,打开下面目录,新建euler2110
cd /var/www/html
mkdir bceuler2110
# 将bclinux for Euler 21.10上传到/mnt下面
将镜像挂载到/var/www/html/bceuler2110
mount -o loop /mnt/BCLinux-for-Euler-21.10-everything-x86_64.iso /var/www/html/bceuler2110/
[root@localhost html]# mount -o loop /mnt/BCLinux-for-Euler-21.10-everything-x86_64.iso /var/www/html/bceuler2110/
mount: /dev/loop0 写保护,将以只读方式挂载
输入下面命令
yum clean all
yum makecache
3.6. 操作系统升级
在x2openEuler启动成功后,打开启动的web端
https://192.168.220.132:18082/x2openEuler/#/login
设置初始密码
登录
新建任务–系统升级
按照要求填写信息
源操作系统版本选择对应的centos即可
repo源选择新建
输入下面内容
[local]name=localbaseurl=http://192.168.220.132/bceuler2110/
enabled=1
gpgcheck=0
配置完成后点击确认
点击确认进行连通性测试
测试通过,开始升级前检查
升级前检查通过,开始升级
此时升级报错,需要进入待升级节点查看报错详情
cd /opt/x2openEuler-upgrade
# 进入目录手动安装x2openEuler-upgrade-1.1.3-33.x86_64.rpm
yum install -y x2openEuler-upgrade-1.1.3-33.x86_64.rpm
报错如下
错误:软件包:x2openEuler-upgrade-1.1.3-33.x86_64 (/x2openEuler-upgrade-1.1.3-33.x86_64)需要:rsync >= 3.1.0已安装: rsync-3.0.9-17.el7.x86_64 (@anaconda/7.3)rsync = 3.0.9-17.el7您可以尝试添加 --skip-broken 选项来解决该问题您可以尝试执行:rpm -Va --nofiles --nodigest
这时需要手动将yum源更改为bclinux for euler21.10的yum源
cd /etc/yum.repos.d/
vi redhat73.repo
将内容改为如下
[redhat73]name=redhat73baseurl=http://192.168.220.132/bceuler2110/
#baseurl=file:///mnt/redhat73/
enabled=1
gpgcheck=0
yum clean all
yum makecachecd /opt/x2openEuler-upgrade/yum install -y x2openEuler-upgrade-1.1.3-33.x86_64.rpm
x2openEuler-upgrade-1.1.3-33.x86_64.rpm安装成功
将yum源再改回redhat的yum源
[root@localhost x2openEuler-upgrade]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vi redhat73.repo
[redhat73]name=redhat73#baseurl=http://192.168.220.132/bceuler2110/
baseurl=file:///mnt/redhat73/
enabled=1
gpgcheck=0
yum clean all
yum makecache
回到辅助机web界面,选择回退
再次选择开始升级
再次报错
进入控制台手动安装yum-utils
可能是redhat回退重启导致redhat镜像挂载失败,重新挂载
[root@localhost yum.repos.d]# mount -o loop /mnt/rhel-server-7.3-x86_64-dvd.iso /mnt/redhat73/
mount: /dev/loop0 写保护,将以只读方式挂载
[root@localhost yum.repos.d]# yum makecache
已加载插件:langpacks, product-id, search-disabled-repos
redhat73 | 4.1 kB 00:00:00
(1/4): redhat73/group_gz | 136 kB 00:00:00
(2/4): redhat73/filelists_db | 3.3 MB 00:00:00
(3/4): redhat73/primary_db | 3.9 MB 00:00:00
(4/4): redhat73/other_db | 1.5 MB 00:00:00
元数据缓存已建立
再次升级
升级完成
重启节点,清理日志文件
去面板查看升级信息
cat /etc/os-release
cat /etc/redhat-release
rpm -qa |grep kernel
[root@localhost ~]# cat /etc/os-release
NAME="BigCloud Enterprise Linux"
VERSION="21.10 (LTS-SP2)"
ID="bclinux"
VERSION_ID="21.10"
PRETTY_NAME="BigCloud Enterprise Linux For Euler 21.10 LTS"
ANSI_COLOR="0;31"[root@localhost ~]# cat /etc/redhat-release
BigCloud Enterprise Linux For Euler release 21.10 (LTS-SP2)
[root@localhost ~]# rpm -qa |grep kernel
kernel-4.19.90-2211.4.0.0177.oe1.bclinux.x86_64
[root@localhost ~]#
升级成功。
4. 总结
本文主要介绍了亚马逊云服务EC2实例的购买以及redhat迁移到openeuler服务器的过程。EC2实例是一种灵活的云服务器,用户可以根据需求选择不同规格的实例来满足不同的业务需求。在购买EC2实例时,用户可以选择按需购买或者包年包月的方式来支付费用。Redhat迁移到openeuler服务器需要经过一系列的步骤,包括辅助机的选择、镜像下载、网络配置、系统升级等。
相关文章:

AWS云服务器EC2实例进行操作系统迁移
AWS云服务器EC2实例进行操作系统迁移 文章目录 AWS云服务器EC2实例进行操作系统迁移1. 亚马逊EC2云服务器简介1.2 亚马逊EC2云务器与弹性云服务器区别 2. 亚马逊EC2云服务器配置流程2.1 亚马逊EC2云服务器实例配置2.1.1 EC2实例购买教程2.1.1 EC2实例初始化配置2.1.2 远程登录E…...

《015.SpringBoot+vue之音乐网》【前后端分离】
《015.SpringBootvue之音乐网》【前后端分离】 项目简介 [1]本系统涉及到的技术主要如下: 推荐环境配置:DEA jdk1.8 Maven MySQL 前后端分离; 后台:SpringBootMybatisMySQL; 前台:Vue3.0 TypeScript Vue-Router Vuex Axios …...
网格算法和穷举法
介绍 网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具 当需要在多个离散的点(比如网格点)…...

【AI】自回归 (AR) 模型使预测和深度学习变得简单
自回归 (AR) 模型是统计和时间序列模型,用于根据数据点的先前值进行分析和预测。这些模型广泛应用于各个领域,包括经济、金融、信号处理和自然语言处理。 自回归模型假设给定时间变量的值与其过去的值线性相关,这使得它们可用于建模和预测时…...
安卓常见设计模式14------单例模式(Kotlin版)
1. W1 是什么,什么是单例模式? 单例模式属于创建型模式,旨在确保一个类只有一个实例,并提供一个全局访问点来获取该实例。单例模式的核心思想是限制类的实例化,使得系统中只有一个共享的实例。 2. W2 为什么&#…...
卡尔曼家族从零解剖-(06)一维卡尔曼滤波编程实践
讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的 卡尔曼家族从零解剖 链接 :卡尔曼家族从零解剖-(00)目录最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/133846882 文末正下方中心提供了本人 联系…...

macOS使用conda初体会
最近在扫盲测序的一些知识 其中需要安装一些软件进行练习,如质控的fastqc,然后需要用conda来配置环境变量和安装软件。记录一下方便后续查阅学习 1.安装miniconda 由于我的电脑之前已经安装了brew,所以我就直接用brew安装了 brew install …...
GetPrivateProfileSection使用
基本语法 GetPrivateProfileSection 是一个 Windows API 函数,用于检索指定 INI 文件中特定节的所有键值对。它可以读取INI文件中指定节所有的键值对并将结果存储在指定的缓冲区中。 以下是 GetPrivateProfileSection 函数的基本语法: DWORD GetPriva…...
Ubuntu20.04 安装 Matlab R2021a
1. 压缩包分卷解压缩 将下载下来的压缩包分卷解压缩 Ubuntu自带的archive会解压出错,不适用于分卷解压。 需要下载7zip (sudo apt-get install 走起) zip -F xxx.zip --out XXX.zip # xxx为主文件名 # XXX.zip为输出路径,上面的…...
让35岁程序员精力充沛的方法
最近重新阅读了《掌控:开启不疲惫、不焦虑的人生》这本书。这本书曾经对我减重20斤产生了巨大的影响。自然入睡、自然醒来,能够高效地工作和享受生活,这才是我们渴望的掌控感。以下是一些笔记: 少吃比多运动更有效地控制体重 每…...

01:2440----点灯大师
目录 一:点亮一个LED 1:原理图 2:寄存器 3:2440的框架和启动过程 A:框架 B:启动过程 4:代码 5:ARM知识补充 6:c语言和汇编的应用 A:代码 B:分析汇编语言 C:内存空间 7:内部机制 二:点亮2个灯 三:流水灯 四:按键控制LED 1:原理图 2:寄存器配置 3:代码 一:点…...

初步了解 RabbitMQ
目录 编辑一、MQ 概述 1、MQ 的简介 2、MQ 的用途 (1)限流削峰 (2)异步解耦 (3)数据收集 二、RabbitMQ 概述 1、RabbitMQ 简介 2、四大核心概念 3、RabbitMQ 的核心部分 编辑 4、名词解释: 三、Hello …...
Faster-RCNN and Mask-RCNN框架解析
由于本人记忆力实在太差,每次学完一个框架没过多久就会忘,而且码文能力不行,人又懒,所以看到了其他人写的不错的两篇框架解析的博文,先来记录一下,就当是我写的喽 Faster-rcnn详解_faster r-cnn-CSDN博客 M…...

大数据可视化数据大屏可视化模板【可视化项目案例-05】
🎉🎊🎉 你的技术旅程将在这里启航! 🚀🚀 本文选自专栏:可视化技术专栏100例 可视化技术专栏100例,包括但不限于大屏可视化、图表可视化等等。订阅专栏用户在文章底部可下载对应案例源码以供大家深入的学习研究。 🎓 每一个案例都会提供完整代码和详细的讲解,不…...
Vue Router active-class 属性
active-class 是 vue-router 模块的 router-link 组件的属性,当 router-link 标签被点击时将会应用这个样式。 单独在 router-link 标签上使用 active-class 属性 <router-link to"/about" active-class"active">about</router-link…...

Error creating bean with name ‘apiModelSpecificationReader‘ defined in URL
问题: 启动项目的时候,报错了 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name apiModelSpecificationReader defined in URL [jar:file:/D:/.gradle/caches/modules-2/files-2.1/io.springfox/sp…...

CS224W6.2——深度学习基础
在本文中,我们回顾了深度学习的概念和技术,这些概念和技术对理解图神经网络至关重要。从将机器学习表述为优化问题开始,介绍了目标函数、梯度下降、非线性和反向传播的概念。 文章目录 1. 大纲2. 优化问题2.1 举例损失函数 3. 如何优化目标函…...
Linux c/c++服务器开发实践
在Linux C开发环境中,通常有两种方式来开发多线程程序,一种是利用POSIX多线程 API函数来开发多线程程序,另外一种是利用C自带线程类来开发程序。 常见的与线程相关的基本API函数: API函数含义pthread_create创建线程pthread_exi…...

2023年11月在线IDE流行度最新排名
点击查看最新在线IDE流行度最新排名(每月更新) 2023年11月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多,人们就会认为它越受欢迎。原始数据来自谷歌Trends 如果您相…...

视频批量剪辑:视频嵌套合并实战指南,剪辑高手速成秘籍
随着社交媒体的兴起,视频制作的需求越来越广泛。无论是个人用户还是专业团队,都需要对视频进行剪辑以符合其需求。而在这个过程中,批量剪辑视频的能力就变得至关重要。视频批量剪辑是指在一次操作中处理多个视频文件的剪辑。通过使用专业的视…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...