• 谷粒商城一


    1. 项目介绍

    1.1 微服务架构图

    在这里插入图片描述

    1.2 微服务划分图

    在这里插入图片描述

    2. 项目环境搭建

    2.1 虚拟机搭建环境

    参考:VMware CentOs 保姆级安装教程

    2.2 Linux 安装 docker、配置镜像加速

    # 1. 卸载之前的docker
     sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
                      
    # 2.需要的安装包
    yum install -y yum-utils
     
    # 3.设置镜像的仓库
    yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    # 默认是从国外的,不推荐
    # 推荐使用国内的
    yum-config-manager \
        --add-repo \
        https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    # 更新yum软件包索引
    yum makecache 
     
    # 4.安装docker相关的 docker-ce 社区版 而ee是企业版
    yum install docker-ce docker-ce-cli containerd.io
    # 5、启动docker
    docker systemctl start docker
    # 6. 使用docker version查看是否按照成功
    docker version
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    配置阿里云镜像加速
    因为 Docker Hub 是国外网站,需要配置国内镜像进行加速

    1. 登录阿里云找到容器服务
      在这里插入图片描述
    2. 配置使用,输入到 ssh 回车
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://on5zpx5o.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2.3 Docker 配置 MySQL、设置自启动

    2.3.1 安装 MySQL5.7

    docker pull mysql:5.7
     
    # 运行容器
    sudo docker run -p 3306:3306 --name mysql \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -d mysql:5.7
    # 参数说明 -p 3312:3306 将容器的3306端口映射到主机的3312端口
    # -v 宿主机文件目录:容器内目录  将容器内文件挂载到宿主机上
    # -e MYSQL_ROOT_PASSWORD=root 设置mysql密码为root
    # -d 后台启动
    # --name 给启动容器起名字
     
    # 使用docker ps 查看启动的容器
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    2.3.2 修改 mysql 配置文件

    # 进入配置文件挂载的目录下
    cd /mydata/mysql/conf
     
    # 配置文件my.cnf
    vim my.cnf
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    主要修改编码为 utf8

     
    # 新增配置文件内容
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    skip-name-resolve
     
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    # 修改配置文件之后,重启容器
    docker restart mysql
    
    # 设置自启动
    docker update mysql --restart=always
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.4 Docker 配置 Redis 并设置持久化

    # 1、创建配置文件
    mkdir -p /mydata/redis/conf
    touch /mydata/redis/conf/redis.conf
    # 2、下载镜像
    docker pull redis
    # 3、启动容器
    docker run -p 6379:6379 --name redis \
    -v /mydata/redis/data:/data  \
    -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
    -d redis redis-server /etc/redis/redis.conf
    # 4、进入redis客户端
    docker exec -it redis redis-cli  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    修改 Redis 配置文件

    vim /mydata/redis/conf/redis.conf
    
    • 1

    aof 持久化方式

    appendonly yes
    
    • 1
     
    # 保存
    docker restart redis
     
    # 进入redis客户端
    docker exec -it redis redis-cli
    # 设置 Redis 容器在 Docker 启动的时候自启动
    docker update redis --restart=always
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2.5 安装 jdk Maven 镜像 idea 及其插件

    JDK 安装
    IDEA 初始化

    2.6 初始化项目架构、创建仓库

    2.6.1 码云创建 Maven 仓库, git 克隆父工程

    在这里插入图片描述
    通过仓库地址克隆项目到本地
    在这里插入图片描述
    在这里插入图片描述

    2.6.2 新建子模块

    • gulimall-xxx(product/order/ware/coupon/member)
    • 每一个子模块的包名为 cn.tedu.gulimall.xxx(product/order/ware/coupon/member)
    • 在每个子模块下引入 web、openfeign

    新建 Maven 模块 gulimall-xxx,导入依赖 pom.xml
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    导入依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-openfeignartifactId>
        dependency>
    
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
    dependencies>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    父工程的pom.xml,并把父工程添加到maven

    在这里插入图片描述

    2.6.3 过滤上传 git 的垃圾文件

    点开父工程的 .gitignore 文件,添加如下内容

    target/
    pom.xml.tag
    pom.xml.releaseBackup
    pom.xml.versionsBackup
    pom.xml.next
    release.properties
    dependency-reduced-pom.xml
    buildNumber.properties
    .mvn/timing.properties
    .mvn/wrapper/maven-wrapper.jar
    
    **/mvnw
    **/mvnw.cmd
    **/.mvn
    **/target/
    .idea
    **/.gitignore
    HELP.md
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    也可以直接把这些文件删除,这些文件是用不到的

    2.6.4 项目提交到 Gitee,并推送

    在这里插入图片描述
    在这里插入图片描述

    2.7 导入 mysql 数据库表

    1. 创建数据库gulimall_oms,gulimall_pms,gulimall_sms,gulimall_ums,gulimall_wms,基字符集选择utf8mb4

    2. 使用 DataGrip 分别创建五个数据库,编码utf8mb4。
      在这里插入图片描述

    3. 双击打开数据库,新建查询,将sql语句复制粘贴运行

    在这里插入图片描述

    在这里插入图片描述
    随便点开一个表,发现没有中文乱码
    在这里插入图片描述

  • 相关阅读:
    SpringBoot项目--电脑商城【显示商品详情功能】
    快速安装protoc
    服务端NioSocketChannel泄漏案例
    基于springboot框架的快递代取跑腿服务系统
    领夹直播麦克风常规的使用方法及方案说明
    基于Java的汽车维修预约管理系统设计与实现(源码+lw+部署文档+讲解等)
    利用对话式人工智能简化运营:案例研究
    每日一题~删除二叉搜索树中的节点
    Docker从安装使用到配置各种镜像容器
    New Journal of Physics:不同机器学习力场特征的准确性测试
  • 原文地址:https://blog.csdn.net/weixin_43344151/article/details/134022880