首页 > 其他分享 >双 11 抢购项目部署文档

双 11 抢购项目部署文档

时间:2022-12-15 15:36:04浏览次数:49  
标签:11 容器 抢购 Redis 文档 mysql 镜像 Docker

本文档中主要描述如何进行双 11 抢购项目的本地运行和部署。 1、环境说明 1) 服务器配置 内存 16G+(DDR3 或以上) CPU 标准电压版 i5(3470+) 4 核单线程(双线程更好) 硬盘 500G 以上 说明:服务器指用于运行分布式微服架构项目依赖环境(如 Docker 环境)及 部署双 11 抢购项目的主机。 2) 开发机器配置 内存 8G+ CPU 标准电压版 i5+ 双核+ 硬盘 500G 以上   3) 运行及部署环境软件版本

 

 

 

 

2、本地运行环境搭建步骤 在双 11 抢购项目中,我们是由 Docker 将原有的一台服务器,隔离成为多个容器。 每一个容器部署一个双 11 抢购的服务。 双 11 抢购项目中的 Docker 应用架构如图 1 所示。 每一个长方形都代表一个 Docker 容器。

 

 

        图 1:双 11 抢购项目 Docker 架构   1) 安装 Ubuntn 系统 安装完成后需要设置好固定 IP,如果需要使用 xshell 等远程连接,则需要安装 ssh 服务和解决 root 远程连接拒绝问题。   2) 安装 docker 和 shipyard 详见《Docker 入门》文档。   3) 下载基础 centos 镜像 docker pull centos 注:如果下载速度过慢,可以使用阿里云等镜像加速   4) 执行初始化脚本创建镜像 首先把 dockerfiles-master.zip 上传到 ubuntu 上并解压, 然后给目录env10.1 下的所有.sh 进行可执行权限的授权  授权:chmod 777 *.sh, 最后执行如下命令,通过 dockfile 来创建所有镜像: ./im-1.sh all n

 

注:脚本是全自动的运行的,不需要人工干预。但因下载内容较多,可能会因网络原因导致某些包下载失败。 如果出现资源包下载失败,首先需要确认是否下载链接地址是否已经失效。 如果下载链接失效,则需要将原来的下载链接替换成为互联网上最新的下载链接。 如果下载链接没有失效,则可按照以下步骤进行镜像的重新创建。   如果发现某个镜像创建失败,则需要单独重新创建这个镜像。单独创建镜像的命令如下: ./im-1.sh 镜像名称 n dockfile 路径   5) 执行初始化脚本创建容器,执行命令如下: ./InitContainers-2.sh init   只要之间镜像创建没有问题,生成容器基本上都没有问题,如果有问题,删除然后修改镜像,重新执行脚本创建容器。   3、相关配置和检查   在实际环境中,一般只对外暴露 80 端口访问,其余都由 nginx 代理处理, 但是在开发中为了方便调试,一般我们会开放一些端口, 比如 mysql 会设置用户名、密码及开放 3306 端口,这样就可以通过客户端远程查看; Redis 也会设置密码和开放 6379 端口,方便 Redis 客户端远程操作。   1. 配置 mysql 通过 shipyard,选择 mysql 容器

 

 

进入控制台,点击 run。

 

 

执行 mysql 配置命令,登录 mysql,修改密码,授权,测试连接    

 

 

 

 

其中 grant all privileges on *.* to root@'%' identified by '123456' with grant option 命令,是设置 MySQL 可以通过远程访问的。 如果不执行这个命令,那么通过远程客户端连接失败,如下图:  

 

 

在执行这个命令的过程中,可能会发生这个错误: 报找不到 grant 这个命令。 此时需要进入到 mysql 容器中,执行命令: ln -s /usr/local/mysql/bin/mysql /usr/bin,如下图:  

 

图 7: 设置可以执行 grant 命令 然后重新通过 shipyard 进入到 MySQL 的窗口中执行,此时就可以了,然 后可以通过客户端访问,如下图:

 

 

 

2. 配置 Redis 可以通过客户端远程访问   1) 开放 6379 端口,执行./run.sh redis 命令,其实就是删除掉之前的 Redis容器,并启动一个容器,在新生成的容器中开放 6379 端口映射

 

 

2) Redis.conf 文件中的 bind 127.0.0.1 修改成 bind 0.0.0.0   3) Redis.conf 文件中的 protected-mode yes 修改成 protected-mode no  Redis.conf 文件中修改 requirepass 123456 ,requirepass 默认是注释掉的,需要去掉,并设置密码。

 

4) 全部修改完成后,通过 stop、start 命令,重新启动当前容器。注意:此时不能通过 /run.sh redis 来创建容器,否则是新创建的容器,原来的修改 都被覆盖掉了,此时就能通过客户端远程连接 Redis 服务了。

 

 

 

 

 

注意:如果此时连接报失败,会提示失败信息:Connection error:Error communicating with HTTP proxy 这个问题是因为本地代理导致,一定要关闭掉本地 IE 浏览器代理,然后重新测试连接就没有问题了。   4、测试服务 1、配置 hosts 在开发机的 hosts 文件中配置如图 11 所示域名,其中 IP 为对应 Docker 宿主机的 IP。 注:hosts 文件中配置的域名为创建镜像时在 nginx 配置文件(dokerfiles master//src//Nginx-Tengine-2.2.1//local.com//nginx.conf)中所指定的域名

 

 

2、访问服务 打开浏览器访问配置的域名,如出现对应环境的管理界面,则代表环境部署成功。如访问 http://mq.local.com 来验证 mq 是否正常启动,正常界面如图 12 所示。

 

 

如果不能访问界面则可能服务没有启动,进入到 mq 对应的容器中的以下目录:/usr/local/apache-activemq-5.15.2/bin/ ,然后执行命令:./activemq start。 执行完成在执行命令:ps -ef |grep mq 来查看,如果显示如下则代表mq 启动成功:

 

 

 

标签:11,容器,抢购,Redis,文档,mysql,镜像,Docker
From: https://www.cnblogs.com/cnetsa/p/16985125.html

相关文章