本文介绍: AWS EC2 实例 Amazon Linux release 2023 (Amazon Linux) 操作系统安装 dockerdocker 安装 jdknginxnacosredis、Sentinel Dashboard部署前后端分离的医疗管理后台系统

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

目录

一、AWS 产品类别选择

(1)应用服务器选择 

(2)数据服务器选择 

(3)存储云盘选择

二、前置准备 



一、AWS 产品类别选择

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

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


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

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


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

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



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

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


  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 命令



sudo yum update -y


sudo amazon-linux-extras install docker


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


sudo docker run hello-world


sudo docker version


which docker

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


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


sudo docker pull adoptopenjdk/dragonwell:8u292_10-jdk

需要拉取镜像为:falconia/dragonwell11


sudo docker pull falconia/dragonwell11

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


容器名称为:falconia/dragonwell11

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

命令的详细解释】

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

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


sudo docker ps -a

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


sudo docker start -i dragonwell-jdk

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



sudo docker search nginx

需要拉取的镜像为:nginx

sudo docker pull nginx

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


sudo docker pull nacos/nacos-server

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


sudo docker pull redis

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


sudo docker pull bladex/sentinel-dashboard

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



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


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 镜像在后台模式下运行容器。 


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 镜像的启动容器。


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”,可以根据需要修改密码。 


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 镜像的最新版本来运行容器,如果想使用特定的版本,可以修改为相应的镜像标签



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

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




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





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


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


docker restart nginx



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

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

【默认账号

用户nacos

密码nacos


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

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

【默认账号

用户sentinel

密码sentinel


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注