• 谷粒商城(一)


    环境搭建

    本项目的 redis、MySQL 都是使用在 docker 容器里面的,所以需要 Linux 环境

    安装 docker

    Docker 安装文档

    1、卸载系统之前的 docker

     yum remove docker \
    			docker-client \
    			docker-client-latest \
    			docker-common \
    			docker-latest \
    			docker-latest-logrotate \
    			docker-logrotate \
    			docker-engine
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2、安装 Docker-CE

    # 安装必须的依赖
    yum install -y yum-utils
    
    # yum安装gcc相关
    yum -y install gcc
    yum -y install gcc-c++
    
    # 更新yum软件包索引
    yum makecache fast
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    # 设置stable镜像仓库
    这里使用阿里云
    yum-config-manager --add-repo 
    	http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    下面是官网,是外网,不推荐
    yum-config-manager --add-repo 
    	https://download.docker.com/linux/centos/docker-ce.repo
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    # 安装 docker,以及 docker-cli
     yum install docker-ce docker-ce-cli containerd.io
    
    • 1
    • 2

    3、启动 docker

    systemctl start docker
    
    • 1

    4、设置 docker 开机自启

    systemctl enable docker
    
    • 1

    5、测试 docker 常用命令,注意切换到 root 用户下
    docker version

    docker 常用命令

    6、配置 docker 镜像加速

    # 登陆阿里云开发者平台 -> 点击控制台 -> 选择容器镜像服务 -> 下面操作文档里面的配置镜像加速
    
    mkdir -p /etc/docker
    vim /etc/docker/daemon.json
    
    tee /etc/docker/daemon.json <<-'EOF' 
    { 
    	"registry-mirrors": `["https://82m9ar63.mirror.aliyuncs.com"]
    }
    EOF
    
    systemctl daemon-reload
    systemctl restart
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    docker 安装 mysql

    1、下载镜像文件docker pull mysql:5.7

    2、创建实例并启动

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    参数说明:
    -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
    -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
    -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
    -v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
    -e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码

    MySQL 配置
    vi /mydata/mysql/conf/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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    注意:解决 MySQL 连接慢的问题
    在配置文件中加入如下,并重启 mysql
    [mysqld]
    skip-name-resolve
    解释:
    skip-name-resolve:跳过域名解析

    3、通过容器的 mysql 命令行工具连接
    docker exec -it mysql mysql -uroot -proot

    4、设置 root 远程访问

    grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
    flush privileges;
    
    • 1
    • 2

    5、进入容器文件系统
    docker exec -it mysql /bin/bash

    docker 安装 redis

    1、下载镜像文件docker pull redis

    2、设置配置文件

    mkdir -p /mydata/redis/conf
    touch /mydata/redis/conf/redis.conf
    
    • 1
    • 2

    redis 自描述文件

    3、修改 /etc/redis/redis.conf 文件

    # 开启 redis 验证(可选)
    requirepass 123456
    
    # 允许 redis 外地连接,注释掉
     # bind 127.0.0.1
    
    # 设置 
    daemonize no
    
    # 开启 redis 持久化,appendonly yes (可选)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    4、创建实例并启动

    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
    
    • 1
    • 2
    • 3
    • 4

    5、使用 redis 镜像执行 redis-cli 命令连接docker exec -it redis redis-cli

    设置随着 docker 自启动

    docker update mysql --restart=always
    
    docker update redis --restart=always
    
    • 1
    • 2
    • 3

    安装配置 git

    1、下载 git https://git-scm.com

    2、配置 git,进入 git bash

    # 配置用户名
    git config --global user.name "username" //(名字)
    # 配置邮箱
    git config --global user.email "username@email.com" //(注册账号时用的邮箱)
    
    • 1
    • 2
    • 3
    • 4

    3、IDEA 初始化 git

    在用户目录下(C:\Users\ASUS)创建忽略规则文件 git.ignore,写入内容
    在 .gitconfig 文件中引用忽略配置文件
    在 IDEA 中设置,定位 Git 程序
    
    
    • 1
    • 2
    • 3
    • 4

    3、IDEA 集成 Gitee

    安装 Gitee 插件,登录 Gitee 账号
    
    • 1

    4、配置 ssh 免密登录

    进入 git bash;使用:ssh-keygen -t rsa -C "xxxxx@xxxxx.com"命令。 连续三次回车

    然后执行 cat ~/.ssh/id_rsa.pub ,会得到一串密钥

    登录进入 gitee,在设置里面找到 SSH KEY

    将 密钥 的内容粘贴进去

    使用 ssh -T git@gitee.com 测试是否成功即可

    Git+码云教程

    从 gitee 初始化项目

    新建仓库

    在这里插入图片描述

    在这里插入图片描述

    IDEA 拉取项目

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    创建项目微服务

    商品服务、仓储服务、订单服务、优惠券服务、用户服务

    共同:

    1. 都加入的是 web、openfeign 依赖
    2. 每一个服务的包名
      afei.xxx(product/order/ware/coupon/member)
    3. 模块名:gulimall-coupon

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

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

    在这里插入图片描述

    修改 父类 项目的 pom.xml

    修改 父类 项目的 .gitignore 文件,让其子类的部分文件不被提交

    **/mvnw
    **/mvnw.cmd
    **/.mvn
    
    **/.gitignore
    **/target/
    .idea
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    可在这里查看提交到码云的内容预览

    在这里插入图片描述

    初始化数据库

    建立对应的数据库

    在这里插入图片描述

    将提供的 sql 文件里面的语句复制进 navicat 执行,直接拖拽容器出现问题

    工具 IDEA、VsCode

    idea 安装 lombok、mybatisx 、gitee 插件

    Vscode 安装开发必备插件:

    • Vetur —— 语法高亮、智能感知、Emmet 等 包含格式化功能, Alt+Shift+F (格式化全文),Ctrl+K Ctrl+F(格式化选中代码,两个 Ctrl 需要同时按着)
    • EsLint —— 语法纠错
    • Auto Close Tag —— 自动闭合HTML/XML 标签
    • Auto Rename Tag —— 自动完成另一侧标签的同步修改
    • JavaScript(ES6) code snippets — — ES6 语法智能提示以及快速输入,除 js外还支持.ts,.jsx,.tsx,.html,.vue,省去了配置其支持各种包含 js 代码文件的时间
    • HTML CSS Support —— 让 html 标签上写 class 智能提示当前项目所支持的样式
    • HTML Snippets —— html 快速自动补全
    • Open in browser —— 浏览器快速打开
    • Live Server —— 以内嵌服务器方式打开
    • Chinese (Simplified) Language Pack for Visual Studio Code —— 中文语言包

    在这里插入图片描述

    人人开源搭建后台管理系统

    在这里插入图片描述
    点进去后,克隆

    在这里插入图片描述

    在桌面右击,打开 Git Bash ,将代码下载到桌面

    在这里插入图片描述

    renren-fast

    将后端代码复制进 项目 目录

    在这里插入图片描述

    在 父类项目 里面加入 人人开源的 module

    	<modelVersion>4.0.0</modelVersion>
    	<groupId>com.atguigu.gulimall</groupId>
    	<artifactId>gulimall</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<name>gulimall</name>
    	<description>聚合服务</description>
    	<packaging>pom</packaging>
    	<modules>
    		<module>gulimall-coupon</module>
    		<module>gulimall-member</module>
    		<module>gulimall-order</module>
    		<module>gulimall-product</module>
    		<module>gulimall-ware</module>
    		<module>renren-fast</module>
    		<module>renren-generator</module>
    		<module>gulimall-common</module>
    	</modules>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    renren-fast 里面有数据库的 sql 语句文件,在数据库创建新库 gulumall_admin ,执行 sql 语句

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

    修改 renren-fast 的配置文件

    在这里插入图片描述

    启动此项目

    注意,若 renren-fast 集成了 nacos,就还需要启动 Nacos 服务

    communication link failure 的,显示初始化init datasource error的,数据库连接配置后面加 &useSSL=false
    报找不到包异常的,用一下右边侧边栏的maven里面的install命令
    url后缀这样该gulimall_admin?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
    springboot 版本最好一样 2.1.8.RELEASE

    访问 localhost:8080/renren-fast

    在这里插入图片描述

    renren-fast-vue

    将桌面上的文件目录 删除 .git 目录,然后用 VsCode 打开
    在这里插入图片描述

    安装 Node.js

    前端开发,少不了 Node.js
    Node.js 是一个基于 ChromeV8引擎的 JavaScript 运行环境。
    NPM是随同NodeJS一起安装的包管理工具,JavaScript-NPM,Java-Maven;

    1)、官网下载安装node.js,并使用 node-v 检查版本。注意版本!!
    在这里插入图片描述
    在这里插入图片描述

    2)、配置npm使用淘宝镜像
    npm config set registry http://registry.npm.taobao.org/

    在这里插入图片描述

    打开 VsCode ,在终端输入 npm install

    也可以选择项目文件夹下打开 cmd 命令窗口,和终端一样(注意需要配置环境变量,参考文章

    输入 npm install 安装 npm,nodejs默认集成npm

    这里npm报错的同学,可以退出vs,然后管理员运行vs,再执行一遍。如果还是不行 就新建一个终端再输入一次npm stall就好了
    有报错误的,可以试一下用 cnpm install试试先
    出错可参考:https://blog.csdn.net/weixin_43859732/article/details/107779450
    https://blog.csdn.net/wangbeita/article/details/112517509

    在这里插入图片描述
    出现以下界面说明成功

    我这里没有使用 vs,而是使用 cmd 窗口进行操作的
    注意执行 npm install 之前,为了防止出错,已经将 renren-fast-vue 项目文件夹下的 package.json 里面的 node-sass 改成 4.9.2

    在这里插入图片描述

    成功后可访问准备启动项目(注意 renren-fast 的 8080 在运行状态,数据库也在运行)

    我这里没有下载 vs,在项目的目录下,使用管理员权限打开 cmd ,执行 npm run dev 便可以启动前端项目

    在这里插入图片描述

    这是 vs 启动成功样式
    在这里插入图片描述

    刷新 登录界面的 图形验证码,发现后台有输出,说明成功

    在这里插入图片描述

    人人运行出错:

    1、启动renren-fast后台报错 Error creating bean with name ‘scheduleJobService‘

    路径:src/main/java/io/renren/modules/job/config/ScheduleConfig.java

    ScheduleConfig类中 //PostgreSQL数据库,需要打开此注释

    2、在启动之后,登陆时发现跨域问题:
    在这里插入图片描述
    CorsConfig 类中 addCorsMappings 方法,需要打开此注释

    @Configuration
    public class CorsConfig implements WebMvcConfigurer {
    
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                .allowedOrigins("*")
                .allowCredentials(true)
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                .maxAge(3600);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    C++ ——vector数组笔记
    nano的CAN通信
    零基础学Python--机器学习(二):机器学习算法和开发
    R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列...
    【TensorFlow&PyTorch】loss损失计算
    Redis
    MarkDown语法——更好地写博客
    15设计模式-行为型模式-观察者模式
    深入解析Kafka消息传递的可靠性保证机制
    自定义映射resultMap
  • 原文地址:https://blog.csdn.net/qq_48496502/article/details/125533823