『亚马逊云科技产品测评』活动征文|EC2 实例安装 docker 与配套软件部署前后端分离的医疗管理后台系统

news2024/10/6 4:02:21

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道  

目录

一、AWS 产品类别选择

(1)应用服务器选择 

(2)数据服务器选择 

(3)存储云盘选择

二、前置准备 

(1)域名准备、证书申请、网站备案、AWS 启动新实例、端口开放 

(2)AWS 连接实例

(3)查看操作系统信息 

三、EC2 实例安装 docker

(1)更新系统软件包 

(2)安装 docker 所需的依赖项 

(3)启动 docker 服务并设置开机自启动

(4)验证 docker 是否安装成功

(5)查看已安装的 docker 版本号 

(6)查找 docker 可执行文件的实际路径 

四、EC2 实例使用 docker 安装 jdk

(1)查找 Docker Hub 上的 Dragonwell JDK 镜像

(2)拉取 Dragonwell JDK 镜像

(3)运行 Dragonwell JDK 容器

(4)查看容器的状态 

(5)启动容器并进入其交互式 shell 查看 jdk 版本

五、docker 安装 nginx、nacos、redis、sentinel

(1)安装:nginx 

(2)安装:nacos

(3)安装:redis

(4)安装:sentinel

六、docker 启动 nginx、nacos、redis、sentinel

(1)启动:nginx 

(2)启动:nacos

(3)启动:redis

(4)启动:sentinel

七、部署证书到 EC2 实例

(1)证书申请 

(2)上传证书到服务器  

八、EC2 实例部署前后端代码

(1)服务器创建存放前端代码的目录 

(2)服务器创建存放后端代码的目录  

九、设置 nginx 配置文件

(1)文件路径

(2)设置配置文件 

① xxx.conf 

② xxx443.conf

(3)EC2 实例重启 nginx 服务

十、浏览器访问网站 

(1)访问:nacos 

(2)访问:Sentinel Dashboard

(3)访问:医疗管理后台系统 



一、AWS 产品类别选择

(1)应用服务器选择 

用于部署网站应用前后端代码的服务器:开发/测试/预发布/正式环境 Linux 服务器

  • 少部分用到的 Redis 缓存数据库,比如只适用于缓存 token、短信验收码接收次数这种,则无需单独设置 Redis 服务器,可以直接在应用服务器上!

『亚马逊云科技产品测评』活动征文|AWS 云服务器 EC2 实例类型及其适用场景详细说明icon-default.png?t=N7T8https://gusanshang.blog.csdn.net/article/details/134263726


(2)数据服务器选择 

用于部署数据库的服务器:MySQL、Redis ...

  • Redis 如果是大数据的缓存需要,则需要独立服务器
  • 而少部分用到的比如只适用于缓存 token、短信验收码接收次数这种,则无需单独设置 Redis 服务器,直接在上面的应用服务器部署即

『亚马逊云科技产品测评』活动征文|AWS 数据库产品类别及其适用场景详细说明icon-default.png?t=N7T8https://gusanshang.blog.csdn.net/article/details/134554322


(3)存储云盘选择

用于扩展应用存储空间,挂载在应用服务器上的存储云盘,数据盘。

『亚马逊云科技产品测评』活动征文|AWS 存储产品类别及其适用场景详细说明icon-default.png?t=N7T8https://gusanshang.blog.csdn.net/article/details/134558112



二、前置准备 

(1)域名准备、证书申请、网站备案、AWS 启动新实例、端口开放 

  1. 注册域名:由于 AWS 不提供网站备案操作,为了方便,本人使用阿里云注册域名。
  2. 申请证书:在阿里云注册域名之后,进行申请证书。
  3. 解析域名:在阿里云域名证书申请之后,使用阿里云解析域名
  4. 个人网站 ICP 备案:要在中国境内访问域名网站,必须完成网站备案,无需使用域名的,则可以不准备域名,直接使用应用服务器的公网 IP 加端口号访问即可。
  5. AWS 启动新实例:选择并购买合适的应用服务器、数据服务器、挂载存储云盘后,进入控制台启动新实例。
  6. AWS 端口开放:端口开放可以在启动新实例步骤中完成,后续也可以修改 “安全组” 添加新端口完成开放端口。

『亚马逊云科技产品测评』活动征文|AWS 域名注册、启动与连接 EC2 新实例、端口开放详细教程icon-default.png?t=N7T8https://gusanshang.blog.csdn.net/article/details/134580241

【Linux】Centos 8 服务器部署:阿里云域名注册、域名解析、个人网站 ICP 备案详细教程icon-default.png?t=N7T8https://gusanshang.blog.csdn.net/article/details/134033592

【Linux】Centos 8 服务器部署:阿里云域名申请免费 SSL 证书详细教程icon-default.png?t=N7T8https://gusanshang.blog.csdn.net/article/details/134037311

  • AWS 域名:如果无需中国境内访问网站,可以直接使用 AWS 完成域名注册、申请证书、域名解析,之后直接使用 AWS 域名,无需进行网站备案
  • 阿里云域名:网站备案是中国境内要求的,所以如果中国境内需要访问域名网站,就需要完成备案,看个人需要选择,如果是国内访问,建议使用阿里云域名,阿里云域名能完成域名注册、申请证书、网站备案、域名解析全部操作,统一快捷方便,操作简单

(2)AWS 连接实例

AWS 启动新实例后,即可连接实例 


(3)查看操作系统信息 

  1. 操作系统发行版详细信息: 
    cat /etc/os-release
  2. 当前操作系统发行版信息:
    cat /etc/system-release

CPU & 内存1 核 (vCPU) 2 GiB
操作系统Amazon Linux release 2023 (Amazon Linux)
详细信息
  • 名称 (NAME): Amazon Linux
  • 版本 (VERSION): 2023
  • ID: amzn
  • ID 类似 (ID_LIKE): fedora
  • 版本 ID (VERSION_ID): 2023
  • 平台 ID (PLATFORM_ID): platform:al2023
  • 可读名称 (PRETTY_NAME): Amazon Linux 2023
  • ANSI 色彩 (ANSI_COLOR): 0;33
  • CPE 名称 (CPE_NAME): cpe:2.3:o:amazon:amazon_linux:2023
  • 主页网址 (HOME_URL): https://aws.amazon.com/linux/
  • 错误报告网址 (BUG_REPORT_URL): https://github.com/amazonlinux/amazon-linux-2023
  • 支持截止日期 (SUPPORT_END): 2028-03-15

Linux 命令的系统版本为:Amazon Linux release 2023 (Amazon Linux) 

这个和 Centos 用到的命令不同,全部命令会有专属的一套命令,所以启动新实例时,所选的 AMI 版本十分重要,每个版本都有其对应的 Linux 命令!



三、EC2 实例安装 docker

(1)更新系统软件包 

sudo yum update -y


(2)安装 docker 所需的依赖项 

sudo amazon-linux-extras install docker


(3)启动 docker 服务并设置开机自启动

sudo systemctl enable docker.service
sudo systemctl start docker.service


(4)验证 docker 是否安装成功

sudo docker run hello-world


(5)查看已安装的 docker 版本号 

sudo docker version


(6)查找 docker 可执行文件的实际路径 

which docker

  1. Docker 的默认安装路径可以根据不同的操作系统而有所不同,通常情况下,在大多数 Linux 系统上,Docker 的可执行文件和相关文件位于 /usr/bin/docker 路径下。 
  2. Docker 的数据目录(例如镜像、容器等数据)通常位于默认的 /var/lib/docker 路径下,如果想了解 Docker 数据的存储路径,可以检查 Docker 服务的配置文件,通常在 /etc/docker/daemon.json 文件中。
  3. 如果在安装 Docker 时选择了非默认路径或使用了其他定制方法,则 Docker 的安装路径可能会有所不同。


四、EC2 实例使用 docker 安装 jdk

根据需求安装指定版本,示例需要指定安装的 jdk 版本为:Dragonwell  11


(1)查找 Docker Hub 上的 Dragonwell JDK 镜像

sudo docker pull adoptopenjdk/dragonwell:8u292_10-jdk

需要拉取的镜像为:falconia/dragonwell11


(2)拉取 Dragonwell JDK 镜像

sudo docker pull falconia/dragonwell11

注意此处创建的容器名称为:falconia/dragonwell11


(3)运行 Dragonwell JDK 容器

容器名称为:falconia/dragonwell11

容器名称重命名为:dragonwell-jdk

【命令的详细解释】

  • --name 参数指定容器的名称重命名为 dragonwell-jdk
  • -v 参数将主机文件系统上的目录挂载到容器中,以便通过容器访问本地文件系统中的文件,例如,将 /home/user/myapp 目录挂载到容器的 /myapp 目录中:
  • -d 参数指定容器在后台运行

这样,就可以使用 “/dragonwell-jdk” 作为容器名称运行 Dragonwell JDK 11 容器,并将本地目录 “/home/user/myapp” 挂载到容器的 “/myapp” 目录中。

sudo docker run --name dragonwell-jdk -v /home/user/myapp:/myapp -d falconia/dragonwell11:latest


(4)查看容器的状态 

sudo docker ps -a

列出所有容器的状态:如果 “dragonwell-jdk” 容器的状态不是 “Up”,则表示容器没有运行。 


(5)启动容器并进入其交互式 shell 查看 jdk 版本

sudo docker start -i dragonwell-jdk

可以查看到 jdk 版本号,并进入 shell 则代表安装 jdk 成功,版本号为:11.0.7.2



五、docker 安装 nginx、nacos、redis、sentinel

(1)安装:nginx 

sudo docker search nginx

需要拉取的镜像为:nginx

sudo docker pull nginx

注意此处创建的容器名称为:nginx


(2)安装:nacos

sudo docker pull nacos/nacos-server

注意此处创建的容器名称为:nacos/nacos-server


(3)安装:redis

sudo docker pull redis

注意此处创建的容器名称为:redis


(4)安装:sentinel

sudo docker pull bladex/sentinel-dashboard

注意此处创建的容器名称为:bladex/sentinel-dashboard



六、docker 启动 nginx、nacos、redis、sentinel

注意:在这之前必须先开放自定义端口,前置准备步骤中的 “端口开放” 的端口会在此步骤中应用!!!


(1)启动:nginx 

sudo docker run -p 80:80 -p 443:443 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx  \
-v /mydata/nginx/conf:/etc/nginx/conf \
-d nginx

容器名称为:nginx

  • 运行该命令将启动一个名为 “nginx” 的容器
  • 并将容器的 HTTP 端口映射到主机的端口 80,HTTPS 端口映射到主机的端口 443
  • 在运行命令之后,能够通过主机的相应端口访问 Nginx 服务;同时,可以在宿主机上编辑网页内容、查看日志和编辑配置文件

【命令的详细解释】

  • -p 80:80 -p 443:443:将容器的端口 80 和 443 映射到主机的相应端口,可以根据需要进行端口映射的修改。
  • --name nginx:指定容器名称为 “nginx”,可根据自己的需要自定义修改名称。
  • -v /mydata/nginx/html:/usr/share/nginx/html:将宿主机上 “/mydata/nginx/html” 目录映射到容器中 Nginx 的 HTML 根目录 “/usr/share/nginx/html”,这样就可以在宿主机上编辑网页内容。
  • -v /mydata/nginx/logs:/var/log/nginx:将宿主机上 “/mydata/nginx/logs” 目录映射到容器中 Nginx 的日志目录 “/var/log/nginx”,这样就可以在宿主机上查看 Nginx 的日志。
  • -v /mydata/nginx/conf:/etc/nginx:将宿主机上 “/mydata/nginx/conf” 目录映射到容器中 Nginx 的配置目录 “/etc/nginx”,这样就可以在宿主机上编辑 Nginx 的配置文件。
  • -d nginx:使用 nginx 镜像在后台模式下运行容器。 


(2)启动:nacos

sudo docker run --name nacos -d -p 8848:8848 -p 9848:9848 -p 9849:9849 --privileged=true --restart=always -e MODE=standalone -e PREFER_HOST_MODE=hostname nacos/nacos-server

容器名称为:nacos/nacos-server

  • 运行该命令将启动 nacos/nacos-server 容器,并将容器命名为 “nacos”
  • 并将容器的端口 8848、9848 和 9849 映射到主机的相应端口
  • 在运行命令之后,能够在主机的相应端口上访问 Nacos 服务

【命令的详细解释】

  • --name nacos:指定容器名称为 “nacos”,可根据自己的需要自定义修改名称
  • -d:在后台模式下运行容器
  • -p 8848:8848 -p 9848:9848 -p 9849:9849:将容器的端口 8848、9848 和 9849 映射到主机的相应端口,可以根据需要进行端口映射的修改。
  • --privileged=true:给容器赋予特权模式,以便容器内的进程可以访问主机的部分资源。
  • --restart=always:设置容器总是在退出后自动重启。
  • -e MODE=standalone:设置 Nacos 启动模式为单机模式。
  • -e PREFER_HOST_MODE=hostname:设置容器主机名作为 Nacos 的拓扑节点名称。
  • nacos/nacos-server:基于 nacos/nacos-server 镜像的启动容器。


(3)启动:redis

sudo docker run -d -p 6379:6379 --name redis -v /mydata/redis/data:/data redis redis-server --appendonly yes --requirepass GuSanShangMiMa

sudo docker run -d -p 6379:6379 --name redis -v /mydata/redis/data:/data redis redis-server --appendonly yes --requirepass 8888

容器名称为:redis

  • 运行该命令将启动一个名为 “redis” 的容器
  • 并将容器的端口 6379 映射到主机的端口 6379
  • 注意:GuSanShangMiMa 需要替换成自己的 redis 服务器密码
  • 执行命令后,能够通过主机的端口 6379 访问 Redis 服务,并且 Redis 数据会持久化到主机上指定的目录

【命令的详细解释】

  • -d:在后台模式下运行容器。
  • -p 6379:6379:将容器的 6379 端口映射到主机的 6379 端口。
  • --name redis:指定容器名称为 "redis",可以根据自己的需求修改名称。
  • -v /mydata/redis/data:/data:将主机上的 "/mydata/redis/data" 目录映射到容器中的 "/data" 目录,这样可以在主机上持久化 Redis 的数据。
  • redis:使用 redis 镜像来运行容器。
  • redis-server --appendonly yes --requirepass GuSanShangMiMa:在容器中运行 Redis 服务器,并开启持久化功能(AOF 方式);此外,还设置了 Redis 的密码为 "GuSanShangMiMa",可以根据需要修改密码。 


(4)启动:sentinel

sudo docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard

容器名称为:bladex/sentinel-dashboard

  • 运行该命令将启动一个名为 “sentinel” 的容器
  • 并将容器的端口 8858 映射到主机的端口 8858
  • 执行命令后,能够通过主机的端口 8858 访问 Sentinel Dashboard,并监控 Sentinel 集群

【命令的详细解释】

  • --name sentinel:指定容器名称为 “sentinel”,可以根据自己的需要修改名称。
  • -d:在后台模式下运行容器,使其在后台持续运行。
  • -p 8858:8858:将容器的端口 8858 映射到主机的端口 8858,可以根据需要进行端口映射的修改。
  • bladex/sentinel-dashboard:使用 bladex/sentinel-dashboard 镜像的最新版本来运行容器,如果想使用特定的版本,可以修改为相应的镜像标签。



七、部署证书到 EC2 实例

(1)证书申请 

  1. 由于 AWS 不提供网站备案操作,为了方便,本人使用阿里云注册域名,因此域名申请证书也在阿里云域名控制台完成。
  2. 在阿里云域名平台下载证书文件,上传 EC2 服务器即可生效。

【Linux】Centos 8 服务器部署:阿里云域名申请免费 SSL 证书详细教程icon-default.png?t=N7T8https://gusanshang.blog.csdn.net/article/details/134037311


(2)上传证书到服务器  

  • 为了方便操作,这里使用远程连接工具 FinalShell 进行操作:【FinalShell】win 10 / win 11:FinalShell 远程连接 Linux 服务器icon-default.png?t=N7T8https://gusanshang.blog.csdn.net/article/details/121360151
  • 将证书上传到 linux 服务器的 Nginx 路径下:/mydata/nginx/conf/cert 



八、EC2 实例部署前后端代码

为了方便操作,这里使用远程连接工具 FinalShell 进行操作:
【FinalShell】win 10 / win 11:FinalShell 远程连接 Linux 服务器icon-default.png?t=N7T8https://gusanshang.blog.csdn.net/article/details/121360151


(1)服务器创建存放前端代码的目录 


(2)服务器创建存放后端代码的目录  



九、设置 nginx 配置文件

(1)文件路径

nginx 配置文件路径:/mydata/nginx/conf 


(2)设置配置文件 

修改 2 个证书内容,并将上传的域名证书的路径配置上: 

  • xxx.conf
  • xxx443.conf

① xxx.conf 

② xxx443.conf


(3)EC2 实例重启 nginx 服务

docker restart nginx



十、浏览器访问网站 

配置完成后,成功访问网站则代表前后端代码分离的网站已成功完成设置。 

(1)访问:nacos 

启用完成后,可以用 ESC 应用服务器 ip 加上 nacos 端口看是否支持访问:
http://服务器 ip:8848/nacos/#/login

【默认账号】

用户:nacos

密码:nacos


(2)访问:Sentinel Dashboard

启用完成后,可以用 ESC 应用服务器 ip 加上 sentinel 端口看是否支持访问:

http://服务器 ip:8858/#/login

【默认账号】

用户:sentinel

密码:sentinel


(3)访问:医疗管理后台系统 

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

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

相关文章

【接口技术】实验1:简易汇编程序调试

实验1 简易汇编程序调试 一、实验目的 1:掌握在集成开发软件环境中汇编程序的编写、调试方法。 2:学会用DOS功能调用(1号和2号)完成输入和输出。 二、实验内容 1-1: 在以BUF为首地址的字节存储区存放有若干个无符…

02 RANSAC算法 及 Python 实现

文章目录 02 RANSAC算法 及 Python 实现2.1 简介2.2 算法流程2.3 RANSAC 算法实现直线拟合2.4 利用 RANSAC 算法减少 ORB 特征点误匹配 02 RANSAC算法 及 Python 实现 2.1 简介 RANSAC (Random Sample Consensus,随机抽样一致)算法的 基本假…

网络通信基础概念介绍

网络通信基础概念介绍 局域网LAN 局域网,即 Local Area Network,简称LAN。 局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。 局域网是指在一个相对较小的…

Android设计模式--外观模式

弈之为术,在人自悟 一,定义 外观模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。提供一个高层次的接口,使得子系统更易于使用。 外观模式在开发中的使用频率是非常高的,尤其是在第三方的SDK里面&#xff0…

redis运维(二十)redis 的扩展应用 lua(二)

一 redis 的扩展应用 lua redis lua脚本语法 ① 什么是脚本缓存 redis 缓存lua脚本 说明: 重启redis,脚本缓存会丢失 下面讲解 SCRIPT ... 系列 SCRIPT ② LOAD 语法:SCRIPT LOAD lua代码 -->载入一个脚本,只是预加载,不执行思考1&#xff1…

leetcode中“辅助栈”类题目和“单调栈”类题目的异同

1 总结 1 栈中元素的特性 2 单调栈存在一次性连续删除多个栈顶的情况,但是普通的栈,一次只pop掉一个栈顶元素 2 LC1209. 删除字符串中的所有相邻重复项 II - 普通辅助栈 class Solution {public String removeDuplicates(String s, int k) {int ns.l…

OSG粒子系统与阴影-爆炸模拟(3)

爆炸模拟示例 爆炸模拟示例的代码如程序清单11-4 所示&#xff1a; /* 爆炸模拟示例 */ void explosion_11_4() {osg::ref_ptr<osgViewer::Viewer> viewer new osgViewer::Viewer();osg::ref_ptr<osg::GraphicsContext::Traits> traits new osg::GraphicsContex…

Linux:Ubuntu虚拟机安装详解:VMware下的逐步指南

目录 1. centOS系统 2. ubuntu系统 1. 下载Ubuntu映像 step1 step2 step3 2. 新建虚拟机 step1 step2 Step3 step4 step5 step6 内存 内核 映像 显示 网络 3. 网络配置 NAT模式 本机IP获取 ​编辑 bridge模式 4. 开启虚拟机 5. 虚拟机常用配置 语言 …

物联网后端个人第十二周总结

学习工作进度 物联网方面 1.模拟设备通过规则引擎将数据通过mqtt进行转发 在物联网平台上实现模拟设备通过规则引擎将数据通过mqtt进行转发已经全部完成了&#xff0c;所使用的物联网平台在这方面有不少的问题和bug&#xff0c;也可能是没有按照开发者的想法对平台进行使用才导…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑系统一次频率响应特性的新型电力系统源网荷储协调鲁棒规划》

这篇文章的标题涉及到新型电力系统的源&#xff08;发电源&#xff09;、网&#xff08;电网&#xff09;、荷&#xff08;负荷&#xff0c;即用电需求&#xff09;以及储&#xff08;储能系统&#xff09;的协调鲁棒规划&#xff0c;其中考虑了系统的一次频率响应特性。 让我…

软件设计师:计算机组成与体系结构之计算机基础知识

计算机基础知识 数据的表示 码制及进制转换 原码&#xff1a;将数值转成二进制反码&#xff1a;正数与原码完全相同&#xff1b;负数&#xff0c;除了符号位其他位取反补码&#xff1a;正数与原码完全相同&#xff1b;负数&#xff0c;在补码的基础上加1移码&#xff1a;补码…

CUDA编程二、C++和cuda混合编程的一些基础知识点

目录 一、C运行过程 1、C编译过程 2、代码运行示例 单文件 多文件 a、编译所有cpp文件&#xff0c;但是不链接 b、链接所有的.o文件 c、运行程序 CMake编译 代码 使用方法 编译过程 代码运行 二、C和cuda混合编程 cuda 单文件 cuda和C多文件 手动分步编译 C…

TDA笔记:夏克林老师,南洋理工大学

TDA比传统的统计方法有优势&#xff1a;benchmark中展现了这种优势 laplacian矩阵 多种单纯复形构造方式&#xff0c;可以构造出不同表征 二部图&#xff1a;Dowker complex Tor algebra可以用到多大数据 目前较新

python教程:正常shell与反弹shell

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 正常shell需要先在攻击端开机情况下开启程序,然后攻击端运行程序,才能连接 反弹shell,攻击端是服务端,被攻击端是客户端 正常shell,攻击端是客户端,被攻击端是服务端 反弹shell,先启用服务端,再启用客户端 反弹shell的好处…

OPPO VOOC快充原理

1 USB 3.0标准A插头 USB 3.0连接器是基于USB 2.0改进而来的&#xff0c;这个设计给USB 3.0连接器带来了一些潜在风险&#xff0c;如果USB 3.0设备插入主机的速度太慢&#xff0c;3.0的针脚还没来得及被识别到&#xff0c;就会被主机判定成USB 2.0的设备。 Figure 1-1 USB 3.0标…

【C++】构造函数和析构函数第四部分(深拷贝和浅拷贝)--- 2023.11.25

目录 什么是浅拷贝&#xff1f;浅拷贝的问题使用深拷贝解决浅拷贝问题结束语 什么是浅拷贝&#xff1f; 如果在一个类中没有人为定义拷贝函数&#xff0c;则系统会提供默认拷贝函数。那么在此默认拷贝函数中主要进行了简单的赋值操作&#xff0c;那这个简单的赋值操作我们一般…

教师编制缩减是为什么

老师们有没有注意到一个趋势&#xff1f;那就是教师编制正在逐步缩减。不知道你们发现没有&#xff0c;我最近在研究教育领域的新闻&#xff0c;发现这两年教师编制缩减的消息越来越多。这是为什么呢&#xff1f;今天就来跟大家聊一聊。 原因一&#xff1a;资金压力 第一个原因…

HarmonyOS应用开发实战—登录页面【ArkTS】

文章目录 本页面实战效果预览图一.HarmonyOS应用开发1.1HarmonyOS 详解1.2 ArkTS详解二.HarmonyOS应用开发实战—登录页面【ArkTS】2.1 ArkTS页面源码2.2 代码解析2.3 心得本页面实战效果预览图 一.HarmonyOS应用开发 1.1HarmonyOS 详解 HarmonyOS(鸿蒙操作系统)是华为公司…

SD卡选型参考

文档版本日期类型REV1.02023.11.25新建 SD卡对于大家来说&#xff0c;应该很熟悉了&#xff0c;都是我们在各类电子设备中经常使用的。不过大家在购买SD卡的时候都会关注哪些参数呢&#xff1f;可能大部分使用者&#xff0c;甚至包括我在内也只是会关注下容量&#xff0c;当然是…