CRMEB多商户商城系统阿里云集群部署教程

news2024/11/16 1:46:16

注意:

1.所有服务创建时地域一定要选择一致,这里我用的是杭州K区

2.文件/图片上传一定要用类似oss的云文件服务, 本文不做演示

一、 创建容器镜像服务,容器镜像服务(aliyun.com) ,个人版本就可以

19429202309191742513331.png

  1. 先创建一个命名空间

cf8c0202309191748158711.png

  1. 然后创建一个镜像仓库

e639f202309191749123580.png

  1. 查看并记录镜像公网地址

d2c5420230919174945292.png

  1. 创建镜像,首先保证本地已经安装号docker服务

4.1 登录阿里云docker

95e01202309191750071080.png

docker login --username=你的用户名 registry.cn-hangzhou.aliyuncs.com

Copy

4.2 拉取多商户预制镜像

docker pull leekay0218/crmeb-mer

Copy

e5460202309191750527726.png

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)

  1. 开通服务

43e77202309191750562832.png

  1. 创建数据库,mysql选择5.7

cb217202309191751301592.png

97a07202309191751427562.png

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

9e697202309191751563581.png

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

ffd30202309191752092416.png

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

1914c202309191752222408.png

cc07c202309191752331193.png

  1. 等待mysql创建完成

99431202309191753157946.png

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

dfaae202309191753253660.png

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

4612c202309191753366450.png

953ad202309191753472133.png

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

ada9f202309191754019957.png

  1. 修改项目根目录.env文件中的mysql配置,如下:

填写配置并保存, 数据库配置完毕了

16272202309191754168407.png

9fc30202309201128166437.png

三、开通redis服务 云数据库Redis版管理控制台 (aliyun.com)

  1. 创建redis服务,区域和mysql保持一致

37de9202309201128429005.png

  1. 选择相同的网络配置

83f23202309201128571923.png

  1. 按照需求选择配置

a9972202309201129113698.png

  1. 设置redis密码

8436b202309201129322049.png

  1. 开通完成

01f88202309201129573182.png

32486202309201130081864.png

  1. 等待创建完成

e179c202309201130239033.png

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

1b5ef202309201130323006.png

ff910202309201130508043.png

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

ff448202309201131124104.png

9f64a202309201131226038.png

四、 推送镜像

  1. 在项目根目录执行下面的命令,代码打包镜像推送到阿里云云仓库

docker build -t leekay0218/crmeb-mer .

docker tag leekay0218/crmeb-mer 你的公网镜像地址

docker push 你的公网镜像地址

Copy

  1. 推送成功后镜像更新时间会更新

3cd9b20230920113143101.png

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

  1. 创建集群,选择杭州K区

8f3a420230920113200913.png

e7ae0202309201132109563.png

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

de6952023092011322184.png

  1. 按需求选择负载均衡配置

64706202309201132313352.png

  1. 创建集群

3a995202309201132417610.png

  1. 待集群初始化完毕

d41df202309201132566777.png

  1. 创建应用

d4b6e202309201133064583.png

7b90c202309201133158454.png

  1. 选择镜像,tag不用填

1ffd2202309201133265318.png

  1. 按照自己的需求选择

f578820230920113336590.png

  1. 填写端口,8324

248cf202309201133509302.png

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

be158202309201133596152.png

964b4202309201134083752.png

e7f62202309201134287422.png

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

  1. 创建应用

267cd202309201134434166.png

350a4202309201134547071.png

4a7c0202309201135044591.png

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

3f80b202309201135164521.png

  1. 如果失败请检查镜像,可以在本地运行镜像检查是否正常. 本地运行时记得将redis和mysql的访问地址改为外网地址;

  2. 集群服务使用完毕后,释放时记得删除干净,并单独删除负载均衡服务,避免意外扣费;

七、代码更新及集群配置

  1. 后端代码更新后需要重新打包镜像并推送到阿里云docker

  2. 然后点击重新部署

59236202309201135353997.png

  1. 修改集群服务器配置

编辑可以修改服务器配置

伸缩可以修改集群服务器数量

4e271202309201135455445.png

  1. 队列服务

在一个阿里云服务器中再部署一套多商户项目代码, 单独启动多商户的队列服务并运行多商户项目. 保证队列和ws可用

ws需要配置独立的域名单独访问

  1. 前端项目

在一个阿里云服务器中单独部署多商户的移动端,平台端,商户端. 并使用独立的域名访问, 接口地址使用集群服务的域名

集群部署完毕,感谢浏览,附件中有word文档可下载查看

多商户阿里云集群部署流程.zip

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1084861.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink之窗口聚合算子

1.窗口聚合算子 在Flink中窗口聚合算子主要分类两类 滚动聚合算子(增量聚合)全窗口聚合算子(全量聚合) 1.1 滚动聚合算子 滚动聚合算子一次只处理一条数据,通过算子中的累加器对聚合结果进行更新,当窗口触发时再从累加器中取结果数据,一般使用算子如下: aggregatemaxmaxBy…

Unity中Shader光照模型Phong

文章目录 前言一、Phong光照模型二、图示解释Phone光照模型1、由图可得,R 可以由 -L 加上 P 得出2、P等于2*M3、因为 N 和 L 均为单位向量,所以 M 的模可以由 N 和 L得出4、得到M的模后,乘以 单位向量N,得到M5、最后得出 P 和 R 前…

Prometheus-Prometheus安装及其配置

Prometheus-Prometheus安装及其配置 Prometheus安装下载解压 配置启动prometheus校验配置文件表达式浏览器 Prometheus安装 Prometheus的安装针对Linux的安装,其他的安装方式可以查看Prometheus官网 下载 sudo wget https://github.com/prometheus/prometheus/re…

四款数字办公工具大比拼,在线办公无压力

在线办公软件使企业、员工实现办公场所、距离的自由,尤其是近几年,受“口罩”的影响,远程办公软件的使用者也越来越多,无论是财务、行政、还是设计师,都开始追求好用的在线办公软件,作为办公软件发烧友&…

发送消息时序图

内窥镜消息队列发送消息原理 目的 有一个多线程的Java应用程序,使用消息队列来处理命令 时序图 startumlactor User participant "sendCmdWhiteBalance()" as Controller participant CommandConsumer participant MessageQueueUser -> Controller:…

​左手 Serverless,右手 AI,7 年躬身的古籍修复之路

作者:宋杰 “AI 可以把我们思维体系当中,过度专业化、过度细分的这些所谓的知识都替代掉,让我们集中精力去体验自己的生命。我挺幸运的,代码能够有 AI 辅助,也能够有 Serverless 解决我的运营成本问题。Serverless 它…

mybatis拦截器源码分析

mybatis拦截器源码分析 拦截器简介 mybatis Plugins 拦截器由于Mybatis对数据库访问与操作进行了深度的封装,让我们应用开发效率大大提高,但是灵活度很差拦截器的作用:深度定制Mybatis的开发抛出一个需求 :获取Mybatis在开发过程中执行的SQL语句(执行什么操作获取那条SQL语句…

RK3562开发板:升级摄像头ISP,突破视觉体验边界

RK3562开发板作为深圳触觉智能新推出的爆款产品,采用 Rockchip 新一代 64 位处理器 RK3562(Quad-core ARM Cortex-A53,主频最高 2.0GHz),最大支持 8GB 内存;内置独立的 NPU,可用于轻量级人工智能…

谷歌浏览查询http被自动转化成https导致页面读取失败问题处理

原因: 谷歌浏览器版本升级,安全问题考虑自动转化https 解决方案: 一、打开配置页面: chrome://flags/ 二、禁止自动转化

vue3_setup基础_渲染函数(ref,reactive)

一、setup语法糖 是什么:组合式Api (vue2为option Api) 来解决什么问题:使用(data,computed,methonds,watch)组件选项来组织逻辑通常都很有效。然而,当我们组件变的更大的时候,逻辑…

ansible的介绍安装与模块

目录 一、ansible简介 二、ansible特点 三、Ansible核心组件与工作原理 1、核心组件 2、工作原理 四、ansible的安装 五、ansible 命令行模块 1.command 模块 2.shell 模块 3.cron 模块 4.user 模块 5.group 模…

01 时钟配置初始化,debug

1. 开启debug series,否则只能下载一次,再次下载要配置boot 2.f0外部时钟配置 h750 配置 实测可用

股票印花税如何征收,万一免五的低费率成本计算以及券商选择

印花税国家收的,不管是深市沪市都收,如下图所示,可以看到,证券交易印花税自2008年9月之后改为单向收取,今年8月份更是降到了0.05%,也就是万分之5,以现在的视角看历史,在最早90年的千…

【数据结构】算法的空间复杂度

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 算法空间复杂度的定义 算法的时间复杂度和空间复杂度是度量算法好坏的两个重要量度,在实际写代码的过程中,我们完全可以用空间来换时间,比如说,我们要判断某某年是不是闰年,大…

基于Vue构建的快速开发框架

一、Vue结合低代码 "低代码"是一种快速开发应用的方法,它使开发者能够通过图形界面和预构建的块进行设计和构建,而不是手动编写大量的代码。这种方法被广泛用于快速应用开发、移动应用开发、业务流程管理和数据库应用开发等领域。 Vue.js 是一…

【Proteus仿真】【51单片机】智能语音家居陪护机器人

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用OLED液晶、按键、蜂鸣器、DS18B20温度传感器、人体红外传感器、语音识别模块、继电器、风扇、LED等。 主要功能: 系统运行后&#xff0…

Kafka生产者使用案例

1.生产者发送消息的过程 首先介绍一下 Kafka 生产者发送消息的过程: 1)Kafka 会将发送消息包装为 ProducerRecord 对象, ProducerRecord 对象包含了目标主题和要发送的内容,同时还可以指定键和分区。在发送 ProducerRecord 对象前&#xff0c…

FPGA面试题(7)

一.解释一下SPI的四种模式 01时钟极性CPOL空闲状态为低电平空闲状态为高电平时钟相位CPHA在第一个跳变沿采样在第二个跳变沿采样 模式CPOLCPHA描述模式000sclk上升沿采样,sclk下降沿发送模式101sclk上升沿发送,sclk下降沿采样模式210sclk上升沿发送&…

解决nav2_bringup tb3_simulation_launch.py 无法启动Gazebo的问题

方法 1 断网再开gazebo. 评价: 方便且有效, 但来回联网很麻烦 参考: https://blog.csdn.net/James___H/article/details/116906217 方法 2 断网能打开是因为gazebo软件开启时会自动从网络下载模型,下载过程必然漫长, 另外你懂的, 网络问题嘛, vpn也解决不了的话…

jmeter压测记录、使用方法

jmeter压测记录、使用方法 1、非gui方式执行压测命令2、压测命令输出解读 1、非gui方式执行压测命令 sh jmeter.sh -n -t test.jmx -l result.jtl2、压测命令输出解读 Active: 10 Started: 10 Finished: 0 Active: 10 表示一共10个活动(正在进行的压测线程&#…