[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建

本项目是基于尚硅谷教程**2020微服务分布式电商项目《谷粒商城》**设计,感谢尚硅谷的用爱发电,视频链接

一、环境搭建

1.系统准备

本次实习使用的是centos7系统,阿里云服务器,这里不得不提良心阿里云服务让学生可以免费白嫖,白嫖教程地址:https://blog.csdn.net/qq_41522089/article/details/107044432

2.安装docker

1、检查内核版本,必须是3.10及以上

​ uname -r

2、安装docker
yum install docker
3、输入y确认安装

4、启动docker
systemctl start docker
docker -v #确认docker版本
5、开机启动docker
systemctl enable docker
6、停止docker
systemctl stop docker

3.docker安装mysql

如果使用的是阿里云服务器,可以使用镜像容器加速服务,加速内容具体可以看我的博客第六章第一小节

1.安装版本5.7(兼容性好)
docker pull mysql:5.7
2.运行mysql容器

这里推荐使用方式2,启动挂载,方便直接在linux目录下看到配置,日记等,不需要进入容器

#方式1
docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 -d mysql	#将容器端口3306映射到本机3306端口
#方式2
docker run -p 3306:3306 --name mysql \		#将容器端口3306映射到本机3306端口
-v /mydata/mysql/log:/var/log/mysql \		#将mysql容器的日记信息挂载到/mydata/mysql/log下
-v /mydata/mysql/data:/var/lib/mysql \		#将mysql容器的数据储存挂载到/mydata/mysql/data下
-v /mydata/mysql/conf:/etc/mysql \			#将Mysql容器的配置信息挂载到/mydata/mysql/conf下
-e MYSQL_ROOT_PASSWORD=root \				#将密码设置为root
-d mysql:5.7								#后台运行Mysql,版本号是5.7
3.配置utf8的字符编码

进入conf目录创建配置:vi my.cnf

[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
4.进入mysql容器

如果是用的docker 安装的mysql,如果直接输入mysql指令,会报错: -bash: mysql: command not found

正确方式应该是执行docker容器的mysql

docker exec -it mysql01 /bin/bash	#这里的mysql01是你容器中设置的mysql的名字

这时候可以使用mysql指令了,然后输入用户名密码

mysql -u root -p	#进入数据库

4.docker安装Redis

1.下载镜像
docker pull redis
2.创建配置文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
3.运行redis容器

挂载到创建的配置文件上

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

执行redis-cli连接redis

docker exec -it redis redis-cli

127.0.0.1:6379> set a b
OK
127.0.0.1:6379> get a
"b"
5.修改持久化配置
vi /mydata/redis/conf/redis.conf

#将持久化配置加入
appendonly yes

#重启redis
docker restart redis

5.修改maven配置

1.maven镜像仓库

在conf/setting.xml配置

<mirror>
	<id>nexus-aliyunid>
	<mirrorOf>*mirrorOf>
	<name>Nexus aliyunname>
	<url>http://maven.aliyun.com/nexus/content/groups/publicurl>
mirror>
2.jdk编译项目
  
<profile>    
    <id>jdk18id>    
    <activation>    
        <activeByDefault>trueactiveByDefault>    
        <jdk>1.8jdk>    
    activation>    
    <properties>    
        <maven.compiler.source>1.8maven.compiler.source>    
        <maven.compiler.target>1.8maven.compiler.target>    
        <maven.compiler.compilerVersion>1.8maven.compiler.compilerVersion>    
    properties>     
profile>   
3.idea设置

在Idea设置默认使用本地的maven

4.安装插件

lombok和mybatisx

6.前端开发安装

1.安装软件

安装vscode

2.安装插件

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第1张图片

7.连接码云做仓库

$ git config --global user.name "xiaoxiao"

$ git config --global user.email "[email protected]"

这个email要和码云绑定的一致

$ ssh-keygen -t rsa -C "[email protected]"
#连续输入三次enter键,就可以激活成功,将秘钥粘贴到码云官网,激活秘钥
$ cat ~/.ssh/id_rsa.pub			#查看秘钥
$ ssh -T [email protected]			#绑定秘钥,输入yes,成功

8.clone项目到本地

将码云上的项目clone到本地

9.创建子模块(微服务)

使用Spring initializr 创建SpringBoot项目

如果IDEA使用Spring initializr 创建SpringBoot项目超时,可以使用阿里云的定制初始模板

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第2张图片

每个模块都初始化导入web,openfeign依赖

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第3张图片

建立五个子模块

商品服务 gulimall-product

仓储服务 gulimall-ware

订单服务 gulimall-order

优惠券服务 gulimall-coupon

用户服务 gulimall-member

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第4张图片

10.新建父工程pom


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>
    <groupId>com.xiaoxiao.gulimallgroupId>
    <artifactId>gulimallartifactId>
    <version>0.0.1-SNAPSHOTversion>
    <name>gulimallname>
    <description>聚合服务description>
    <packaging>pompackaging>

    <modules>
        <module>gulimall-couponmodule>
        <module>gulimall-membermodule>
        <module>gulimall-ordermodule>
        <module>gulimall-productmodule>
        <module>gulimall-waremodule>
    modules>

project>

11.修改.ignore

增加文件git忽略

**/mvnw
**/mvnw.cmd

**/.mvn
**/target/

.idea
**/.gitignore

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第5张图片

12.下载码云插件

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第6张图片

二、数据库准备

1.连接数据库

首先使用SQLyoung连接阿里云的mysql数据库

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第7张图片

2.建库

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第8张图片

3.建表

建表sql太长了不粘了,在https://shimo.im/docs/Dv6w8KcWJpXvvPkD/read自取

三、管理系统搭建

使用码云git clone开源项目-人人开源,链接

$ git clone https://gitee.com/renrenio/renren-fast.git
$ git clone https://gitee.com/renrenio/renren-fast-vue.git

1.操作renren-fast

1.人人项目建表

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第9张图片

2.修改yml

修改数据库信息

#自己mysql的设置
url: jdbc:mysql://你的ip/gulimall_admin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root

2.安装node.js

1.安装
2.配置下载

新建两个文件夹node_cache,node_global

输入指令

npm config set prefix "D:\Develop\nodejs\node_global"
npm config set cache "D:\Develop\nodejs\node_cache"
3.配置环境

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第10张图片

3.操作renren-fast-vue

1.切换镜像

切换到淘宝镜像

npm install -g cnpm --registry=https://registry.npm.taobao.org
2.安装依赖

进入vs code的控制台

输入指令:npm install

3.启动
npm run dev
注意事项

1.前台工作时,后台要打开

2.如果出现error:node-sass4.9.0安装失败,先卸载原来安装的node-sass,然后重新安装

npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

之后再执行:npm install

最后启动

四、编写公用模块

设计一个子模块,将共用的一些依赖,bean,工具等放入这个包,只要引用就可以了

<dependencies>
    
    <dependency>
        <groupId>com.baomidougroupId>
        <artifactId>mybatis-plus-boot-starterartifactId>
        <version>3.2.0version>
    dependency>

    <dependency>
        <groupId>org.projectlombokgroupId>
        <artifactId>lombokartifactId>
        <version>1.18.8version>
    dependency>

    
    <dependency>
        <groupId>org.apache.httpcomponentsgroupId>
        <artifactId>httpcoreartifactId>
        <version>4.4.12version>
    dependency>    
	<dependency>
        <groupId>commons-langgroupId>
        <artifactId>commons-langartifactId>
        <version>2.6version>
    dependency>

    
    
    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <version>8.0.17version>
    dependency>

    <dependency>
        <groupId>javax.servletgroupId>
        <artifactId>servlet-apiartifactId>
        <version>2.5version>
        <scope>providedscope>
    dependency>

    
    <dependency>
        <groupId>com.alibaba.cloudgroupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
    dependency>

    
    <dependency>
        <groupId>com.alibaba.cloudgroupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
    dependency>

    <dependency>
        <groupId>javax.validationgroupId>
        <artifactId>validation-apiartifactId>
        <version>2.0.1.Finalversion>
    dependency>
dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloudgroupId>
            <artifactId>spring-cloud-alibaba-dependenciesartifactId>
            <version>2.1.0.RELEASEversion>
            <type>pomtype>
            <scope>importscope>
        dependency>
    dependencies>
dependencyManagement>

共用Bean在逆向搭建工程时候粘贴进去就行

五、逆向工程搭建使用

这里也是使用人人开源的renren-generator,可在线生成entity、xml、dao、service、vue、sql代码

1.项目克隆

git clone https://gitee.com/renrenio/renren-generator.git

2.修改application.yml

要使用哪个数据库就用哪个配置

# mysql
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    #MySQL配置
    driverClassName: com.mysql.cj.jdbc.Driver
    #这里使用gulimall_pms库
    url: jdbc:mysql://你的ip/gulimall_pms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root

3.修改generator.properties

#代码生成器,配置信息

mainPath=com.xiaoxiao
#包名
package=com.xiaoxiao.gulimall
moduleName=product
#作者
author=xiaoxiao
#Email
[email protected]
#表前缀(类名不会包含表前缀)
tablePrefix=pms_

4.运行代码生成器

访问localhost:80

[项目练手笔记-谷粒商城(SpringCloud Alibaba+vue前后端分离)]day01环境搭建(基于人人前后端分离开源fast项目)_第11张图片

六、mybatisplus应用

1.配置yml

#配置mybatis plus
spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://101.201.237.107/gulimall_pms
    driver-class-name: com.mysql.jdbc.Driver

2.配置mapper扫描

@MapperScan("com.xiaoxiao.gulimall.product.dao")	//配置在主方法上

3.配置映射文件位置

在application.yml配置

#配置映射位置
mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml

4.配置主键自增

#配置映射位置
mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto

七、剩余模块逆向搭建

方法和第五章一样,不赘述

你可能感兴趣的:(练手开源项目,学习笔记,分布式微服务,数据库,docker,java,springboot,springcloud,微服务框架,微服务视频,分布式系统,分布式,分布式设计)