注意:
1.所有服务创建时地域一定要选择一致,这里我用的是杭州K区
2.文件/图片上传一定要用类似oss的云文件服务, 本文不做演示
一、 创建容器镜像服务,容器镜像服务(aliyun.com) ,个人版本就可以

- 先创建一个命名空间

- 然后创建一个镜像仓库

- 查看并记录镜像公网地址

- 创建镜像,首先保证本地已经安装号docker服务
4.1 登录阿里云docker

docker login --username=你的用户名 registry.cn-hangzhou.aliyuncs.com
Copy
4.2 拉取多商户预制镜像
docker pull leekay0218/crmeb-mer
Copy

4.3 在多商户项目根目录创建Dockerfile文件,内容为
FROM leekay0218/crmeb-mer
MAINTAINER crmeb.com
# 复制代码
ADD . /var/www
# 设置容器启动后的默认运行目录
WORKDIR /var/www
# 默认入口命令
ENTRYPOINT ["/entrypoint.sh"]
# CMD 指令只能一个,是容器启动后执行的命令,算是程序的入口。
#CMD []
CMD ["php", "-d", "memory_limit=2048M", "think", "swoole"]
Copy
二、开通阿里云mysql服务 RDS管理控制台(aliyun.com)
- 开通服务

- 创建数据库,mysql选择5.7


- 配置按照自己的需求选择即可,我这里演示用,所以选择的最低配置

- 这里选择默认即可, 没有的话就创建一个, 后面服务需要选择同一个

- 为了方便使用,直接设置好root密码


- 等待mysql创建完成

- 开通外网地址,自行创建多商户的数据库并导入数据.这个就不做演示了

- 修改sql-mode配置为: NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER


- 刷新检查一下,确保修改成功

- 修改项目根目录.env文件中的mysql配置,如下:
填写配置并保存, 数据库配置完毕了


三、开通redis服务 云数据库Redis版管理控制台 (aliyun.com)
- 创建redis服务,区域和mysql保持一致

- 选择相同的网络配置

- 按照需求选择配置

- 设置redis密码

- 开通完成


- 等待创建完成

- 设置白名单,这里按照自己的需求设置,我这里设置0.0.0.0/0是方便演示,有安全问题


- env文件填写配置并保存, redis配置完毕了


四、 推送镜像
-
在项目根目录执行下面的命令,代码打包镜像推送到阿里云云仓库
docker build -t leekay0218/crmeb-mer .
docker tag leekay0218/crmeb-mer 你的公网镜像地址
docker push 你的公网镜像地址
Copy
- 推送成功后镜像更新时间会更新

五、 创建阿里云集群服务容器服务ACK_容器服务Kubernetes版_容器_云原生应用平台-阿里云 (aliyun.com)
- 创建集群,选择杭州K区


- 按照自己的需求选择,然后下一步

- 按需求选择负载均衡配置

- 创建集群

- 待集群初始化完毕

- 创建应用


- 选择镜像,tag不用填

- 按照自己的需求选择

- 填写端口,8324

- 创建应用,等待应用初始化完毕



六、 创建服务,获取公网IP
- 创建应用



- 等待应用启动完毕后,访问118.31.68.253/api/config, 有数据说明部署成功;

-
如果失败请检查镜像,可以在本地运行镜像检查是否正常. 本地运行时记得将redis和mysql的访问地址改为外网地址;
-
集群服务使用完毕后,释放时记得删除干净,并单独删除负载均衡服务,避免意外扣费;
七、代码更新及集群配置
-
后端代码更新后需要重新打包镜像并推送到阿里云docker
-
然后点击重新部署

- 修改集群服务器配置
编辑可以修改服务器配置
伸缩可以修改集群服务器数量

- 队列服务
在一个阿里云服务器中再部署一套多商户项目代码, 单独启动多商户的队列服务并运行多商户项目. 保证队列和ws可用
ws需要配置独立的域名单独访问
- 前端项目
在一个阿里云服务器中单独部署多商户的移动端,平台端,商户端. 并使用独立的域名访问, 接口地址使用集群服务的域名
集群部署完毕,感谢浏览,附件中有word文档可下载查看