注意:
1.所有服務創建時地域一定要選擇一致,這里我用的是杭州K區
2.文件/圖片上傳一定要用類似oss的云文件服務, 本文不做演示
一、 創建容器鏡像服務,容器鏡像服務(aliyun.com) ,個人版本就可以
1. 先創建一個命名空間
2. 然后創建一個鏡像倉庫
3. 查看并記錄鏡像公網地址
4. 創建鏡像,首先保證本地已經安裝號docker服務
4.1 登錄阿里云docker
docker login --username=你的用戶名 registry.cn-hangzhou.aliyuncs.com
4.2 拉取多商戶預制鏡像
docker pull leekay0218/crmeb-mer
4.3 在多商戶項目根目錄創建Dockerfile文件,內容為
FROM leekay0218/crmeb-mer
MAINTAINER www.2233z.cn
# 復制代碼
ADD . /var/www
# 設置容器啟動后的默認運行目錄
WORKDIR /var/www
# 默認入口命令
ENTRYPOINT ["/entrypoint.sh"]
# CMD 指令只能一個,是容器啟動后執行的命令,算是程序的入口。
#CMD []
CMD ["php", "-d", "memory_limit=2048M", "think", "swoole"]
二、開通阿里云mysql服務 RDS管理控制臺 (aliyun.com)
1. 開通服務
2. 創建數據庫,mysql選擇5.7
3. 配置按照自己的需求選擇即可,我這里演示用,所以選擇的最低配置
4. 這里選擇默認即可, 沒有的話就創建一個, 后面服務需要選擇同一個
5. 為了方便使用,直接設置好root密碼
6. 等待mysql創建完成
7. 開通外網地址,自行創建多商戶的數據庫并導入數據.這個就不做演示了
8. 修改sql-mode配置為: NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
9. 刷新檢查一下,確保修改成功
10. 修改項目根目錄.env文件中的mysql配置,如下:
填寫配置并保存, 數據庫配置完畢了
三、開通redis服務 云數據庫Redis版管理控制臺 (aliyun.com)
1. 創建redis服務,區域和mysql保持一致
2. 選擇相同的網絡配置
3. 按照需求選擇配置
4. 設置redis密碼
5. 開通完成
6. 等待創建完成
7. 設置白名單,這里按照自己的需求設置,我這里設置0.0.0.0/0是方便演示,有安全問題
8. env文件填寫配置并保存, redis配置完畢了
四、 推送鏡像
1. 在項目根目錄執行下面的命令,代碼打包鏡像推送到阿里云云倉庫
docker build -t leekay0218/crmeb-mer .
docker tag leekay0218/crmeb-mer 你的公網鏡像地址
docker push 你的公網鏡像地址
2. 推送成功后鏡像更新時間會更新
五、 創建阿里云集群服務容器服務ACK_容器服務Kubernetes版_容器_云原生應用平臺-阿里云 (aliyun.com)
1. 創建集群,選擇杭州K區
2. 按照自己的需求選擇,然后下一步
3. 按需求選擇負載均衡配置
4. 創建集群
5. 待集群初始化完畢
6. 創建應用
7. 選擇鏡像,tag不用填
8. 按照自己的需求選擇
9. 填寫端口,8324
10. 創建應用,等待應用初始化完畢
六、 創建服務,獲取公網IP
1. 創建應用
2. 等待應用啟動完畢后,訪問118.31.68.253/api/config, 有數據說明部署成功;
3. 如果失敗請檢查鏡像,可以在本地運行鏡像檢查是否正常. 本地運行時記得將redis和mysql的訪問地址改為外網地址;
4. 集群服務使用完畢后,釋放時記得刪除干凈,并單獨刪除負載均衡服務,避免意外扣費;
七、代碼更新及集群配置
1. 后端代碼更新后需要重新打包鏡像并推送到阿里云docker
2. 然后點擊重新部署
3. 修改集群服務器配置
編輯可以修改服務器配置
伸縮可以修改集群服務器數量
4. 隊列服務
在一個阿里云服務器中再部署一套多商戶項目代碼, 單獨啟動多商戶的隊列服務并運行多商戶項目. 保證隊列和ws可用
ws需要配置獨立的域名單獨訪問
5. 前端項目
在一個阿里云服務器中單獨部署多商戶的移動端,平臺端,商戶端. 并使用獨立的域名訪問, 接口地址使用集群服務的域名
集群部署完畢,感謝瀏覽,附件中有word文檔可下載查看