zoukankan      html  css  js  c++  java
  • gulimall分布式商城(一)

    1、本文背景

      本文旨在分享作者自己学习尚硅谷谷粒商城的一些经历以及谷粒商城从无到有的全过程,包括踩得那些坑。毕竟本人是半路和尚出家,跨专业学习,深知其中曲折。因视频中老师没有给文档,很多东西也就只能自己手动敲了。希望给在学的同学带来些许便宜。因本文是和尚硅谷的视频讲解配套的,所以有些步骤写的不够详细,同学可以去尚硅谷官网免费下载视频进行学习(白嫖你懂得)。直通车:http://www.atguigu.com/download_detail.shtml?v=284

      说明:本文旨在分享学习经历,有错误的地方欢迎大家指出,本人会虚心接受。原创不易,不喜勿喷。

     2、环境配置

      当然,这些环境配置不包括JDK和maven的配置。如果这些都还没配置,建议自行百度并回去充会电,毕竟是最基础的,也烂大街了。

      2.1、安装vagrant,并使用vagrant快速创建linux虚拟机,设置虚拟机网络

        最好安装win10系统再去整vagrant,本人就是重装的win10。win7理论上也能整吧,但我没试过。因为被未知错误搞怕了。有那时间查找怎么处理未知错误,还不如安心的装个win10,多的时间多用来敲代码多安逸。具体细节参考视频。。。

      2.2、linux安装docker

        此处贴上部分命令,省的你们去查找,也可也去官网:https://docs.docker.com/engine/install/centos/,查找相关命令

    //1、卸载旧版的docker
    sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-engine
    //2、安装docker必备的工具
     sudo yum install -y yum-utils
                  
     //3、设置docker的安装地址
     sudo yum-config-manager 
      --add-repo 
     https://download.docker.com/linux/centos/docker-ce.repo
                    
     //4、安装docker
     sudo yum install docker-ce docker-ce-cli containerd.io
                    
     //5、启动docker
    sudo systemctl start docker //6、查看docker的版本 docker -v //7、查看docker有没有下载镜像 sudo docker images //8、开机自启动 sudo systemctl enable docker 

      2.3、docker配置阿里云镜像进行加速

    //1、第一步
    sudo mkdir -p /etc/docker
    //2、第二步 sudo tee
    /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://42ujwa53.mirror.aliyuncs.com"] } EOF //3、第三步 sudo systemctl daemon-reload sudo systemctl restart docker

      2.4、docker安装mysql、redis 并设置开机启动

    //1、docker安装mysql5.7
    //切换到root用户
    su root
            
    //下载mysql
    docker pull mysql:5.7
                
    //创建实例并启动,每行后面千万不能带空格
    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=root 
                -d mysql:5.7
                
    //重启mysql
    docker restart mysql 
                
    //以交互模式进入mysql操作台
    docker exec -it mysql /bin/bash
    //2、docker安装Redis
    //下载Redis镜像
    docker pull redis
                
    //创建文件目录
    mkdir -p /mydata/redis/conf
                
    touch /mydata/redis/conf/redis.conf
                
    //创建实例并启动
    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
            
    //修改配置文件
    vi redis.conf
    
    //添加appendonly yes ,表示数据持久化到Redis数据库
    appendonly yes

      

       2.5、idea、vscode安装配置,并安装相关插件

        此处略。。。

      2.6、git本地安装,并配置可提交到码云

    //配置用户名
    git config --global user.name "xxx"
    //配置邮箱
    git config --global user.email "xxx@qq.com"
    //配置ssh免密提交,三次回车
    ssh-keygen -t rsa -C "xxx@qq.com"

     3、项目搭建

      前面基础环境搭建完成后,就可以开始正式开发gulimall项目了。一样的套路,一样的配方。先从数据库开始,走起

      3.1、数据库初始优化

       附上源码地址(包括数据库):https://share.weiyun.com/5g1GICk

      3.2、项目结构创建,并提交至码云

      项目结构图:

              

      3.3、人人开源后台管理系统

      从码云拉取人人开源前后端项目:https://gitee.com/renrenio/renren-fasthttps://gitee.com/renrenio/renren-fast-vue,运行前后端,调试通过即可。

      3.4、逆向工程搭建和使用

      从码云拉取人人开源逆向工程项目:https://gitee.com/renrenio/renren-generator,修改application.yml配置: 

    # mysql,修改自己的数据库项目信息
    spring:
      datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        #MySQL配置
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://169.254.27.6:3306/gulimall_ums?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
        username: root
        password: root

    修改generator.properties相关信息

    mainPath=com.atguigu
    package=com.atguigu.gulimall
    #menber对应的服务名 moduleName
    =menber #作者信息 author=lx #Email email=lx@gmail.com #修改成对应的数据库ums tablePrefix=ums_

      3.5、配置、测试微服务基本CRUD功能

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class GulimallProductApplicationTests {
        @Autowired
        BrandService brandService;
    
        @Test
        public void contextLoads() {
            BrandEntity be = new BrandEntity();
            be.setName("小米");
            brandService.save(be);
            System.out.print("添加成功");
        }
    }

      测试通过后,即可用generator快速生成所有微服务CRUD。

      到此为止,我们已经搭建环境,生成项目框架,并调试通过。基本的CRUD可以上手试一下了。在这部分中,最大的坑可能就是vscode运行npm install了。

      如果报node-sass和sass-loader相关错误,我百度的解决方案:node_modules ode-sass: Command failed.错误解决,如果不适合你,那就请自行百度了。

      再然后还有一个大坑,那就是springboot和spring cloud的版本对应问题。这个地方大家根据自己的版本多去试,多去百度。 

      好了,本次分享就先告一段落了。下次带你体验Spring Cloud Alibaba分布式组件

  • 相关阅读:
    【Python】【文件】查找指定路径中是否存在目标文件(含此路径下的子文件夹)
    时隔一年的2020noip
    nacos 笔记
    webflux 小例子
    spring Initializr 笔记
    临时~spring启动过程
    Mac通过crontab设置定时任务报错Operation not permitted
    Isolation Forest Implementation(孤立森林)
    let arr=['a'] JSON.stringify(arr) 输出:“['a']” let arr2 = “['a']” JSON.parse(arr2) 输出: ['a']
    js对象中key值加引号和不加引号的区别
  • 原文地址:https://www.cnblogs.com/gaoyangsixue/p/13273335.html
Copyright © 2011-2022 走看看