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