授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道
(1)域名准备、证书申请、网站备案、AWS 启动新实例、端口开放
(1)查找 Docker Hub 上的 Dragonwell JDK 镜像
(5)启动容器并进入其交互式 shell 查看 jdk 版本
五、docker 安装 nginx、nacos、redis、sentinel
六、docker 启动 nginx、nacos、redis、sentinel
一、AWS 产品类别选择
(1)应用服务器选择
『亚马逊云科技产品测评』活动征文|AWS 云服务器 EC2 实例类型及其适用场景详细说明https://gusanshang.blog.csdn.net/article/details/134263726
(2)数据服务器选择
『亚马逊云科技产品测评』活动征文|AWS 数据库产品类别及其适用场景详细说明https://gusanshang.blog.csdn.net/article/details/134554322
(3)存储云盘选择
『亚马逊云科技产品测评』活动征文|AWS 存储产品类别及其适用场景详细说明https://gusanshang.blog.csdn.net/article/details/134558112
二、前置准备
(1)域名准备、证书申请、网站备案、AWS 启动新实例、端口开放
『亚马逊云科技产品测评』活动征文|AWS 域名注册、启动与连接 EC2 新实例、端口开放详细教程https://gusanshang.blog.csdn.net/article/details/134580241
【Linux】Centos 8 服务器部署:阿里云域名注册、域名解析、个人网站 ICP 备案详细教程https://gusanshang.blog.csdn.net/article/details/134033592
【Linux】Centos 8 服务器部署:阿里云域名申请免费 SSL 证书详细教程https://gusanshang.blog.csdn.net/article/details/134037311
(2)AWS 连接实例
(3)查看操作系统信息
CPU & 内存 | 1 核 (vCPU) 2 GiB |
---|---|
操作系统 | Amazon Linux release 2023 (Amazon Linux) |
详细信息 |
|
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
四、EC2 实例使用 docker 安装 jdk
(1)查找 Docker Hub 上的 Dragonwell JDK 镜像
sudo docker pull adoptopenjdk/dragonwell:8u292_10-jdk
(2)拉取 Dragonwell JDK 镜像
sudo docker pull falconia/dragonwell11
(3)运行 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
五、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
(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
【命令的详细解释】
- -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
【命令的详细解释】
- -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
【命令的详细解释】
七、部署证书到 EC2 实例
(1)证书申请
【Linux】Centos 8 服务器部署:阿里云域名申请免费 SSL 证书详细教程https://gusanshang.blog.csdn.net/article/details/134037311
(2)上传证书到服务器
八、EC2 实例部署前后端代码
为了方便操作,这里使用远程连接工具 FinalShell 进行操作:
【FinalShell】win 10 / win 11:FinalShell 远程连接 Linux 服务器https://gusanshang.blog.csdn.net/article/details/121360151
(1)服务器创建存放前端代码的目录
(2)服务器创建存放后端代码的目录
九、设置 nginx 配置文件
(1)文件路径
nginx 配置文件路径:/mydata/nginx/conf
(2)设置配置文件
① 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
【默认账号】
用户:sentinel
密码:sentinel
(3)访问:医疗管理后台系统
原文地址:https://blog.csdn.net/qq_39720249/article/details/134610017
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_2613.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!