谷粒商城项目新手

  • 返回导航页
      • 1、前置知识-安装虚拟机
        • 虚拟机问题
        • 虚拟机安装让必要软件
        • docker安装其余用到的软件
      • 项目架构图
      • 项目划分图
      • 创建项目
      • 创建数据库
      • 人人开源项目
      • 人人开源前端
      • 代码生产器
      • 测试代码
      • common里引入springcloud -alibaba
      • Springboot版本和springbootCloud版本问题
      • 配置中心
      • 网关
      • 后端初始化结束
    • 管理后台
    • 以后的基础代码直接copy吧,看着视频,拷着代码,一步一步来 多香。都是业务代码了。理解业务即可
    • https://gitee.com/coder-msc/gilimall
    • 踩坑补充

返回导航页

https://blog.csdn.net/hancoder/article/details/106922139

1、前置知识-安装虚拟机

nacos安装方式:(仓库里找吧)

https://gitee.com/coder-msc/tools

使用vagrant
先下载VirtualBOX
下载地址:https://www.virtualbox.org/wiki/Downloads
后安装vagrant
下载地址: https://www.vagrantup.com/

输入vagrant init centos/7,即可初始化一个centos7系统。(注意这个命令在哪个目录下执行的,他的Vagrantfile就生成在哪里)
修改配置文件
需要cmd看ipconfig 以太网适配器 VirtualBox Host-Only Networkz这个地址,因此192.168.33.10也可能
config.vm.network “private_network”,ip:“192.168.56.10”
vagrant up 命令是安装并启动虚拟机,
如果是第一次,它会下载对应的虚拟机镜像文件,下载完成了之后就会自动启动虚拟机,
以后再执行这个命令就是直接启动已经安装的虚拟机了。
(出现下面的报错,都是网络不好,重新下载即可)
vagrant reload 改完重启启动虚拟机环境。

虚拟机问题
使用的网络方式是网络地址转换NAT(端口转发),如果其他主机要访问虚拟机,必须由windows端口如3333断发给虚拟机端口如3306。
这样每在linux里安一个软件都要进行端口映射,不方便,(也可以在virualBox里挨个设置)。我们想要给虚拟机一个固定的ip地址
,windows和虚拟机可以互相ping通。

使用Xshell连接虚拟机

如何通过其他工具链接sshvi /etc/ssh/sshd_config修改 PasswordAuthentication yessystemctl restart sshd.service 或 service sshd restart连接192.168.56.10:22端口成功,用户名root,密码vagrant也可以通过vagrant ssh-config查看ip和端口,此时是127.0.0.1:2222

密钥路径: X:\vagrant\centos.vagrant\machines\default\virtualbox


虚拟机安装让必要软件

1、配置源

# 备份原yum源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 使用新yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
# 生成缓存
yum makecache

2、虚拟机安装docker

# https://docs.docker.com/engine/install/centos/#卸载系统之前的docker
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-enginesudo yum install -y yum-utils# 配置镜像
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.iosudo systemctl start docker
# 设置开机自启动
sudo systemctl enable dockerdocker -v
sudo docker images# 配置镜像加速
https://cr.console.aliyun.com/cn-qingdao/instances/mirrorssudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://lrhf8l1s.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装mysql

sudo docker pull mysql:5.7# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
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=root \
-d mysql:5.7

修改MySQL配置

docker exec -it mysql bin/bash
exit;因为有目录映射,所以我们可以直接在镜像外执行
进入目录: vi /mydata/mysql/conf/my.conf [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# 退出保存 重启
docker restart mysql
# 每次开机都启动
docker update redis --restart=always

安装Redis
如果直接挂载的话docker会以为挂载的是一个目录,所以我们先创建一个文件然后再挂载,在虚拟机中。

# 在虚拟机中新建文件夹、文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
# 下载镜像
docker pull 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# 直接进去redis客户端。
docker exec -it redis redis-cli// 默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。
// 修改完docker restart redis,docker -it redis redis-clivim /mydata/redis/conf/redis.conf
# 插入下面内容
appendonly yes保存 重启
docker restart redis设置redis容器在docker启动的时候启动
docker update redis --restart=always

安装Nginx

docker pull nginx:1.10
# 随便启动一个nginx实例,只是为了复制出配置,放到docker里作为镜像的统一配置
docker run -p 80:80 --name nginx -d nginx:1.10cd /mydata/nginx
docker container cp nginx:/etc/nginx .
然后在外部 /mydata/nginx/nginx 有了一堆文件
mv /mydata/nginx/nginx /mydata/nginx/conf
# 停掉nginx
docker stop nginx
docker rm nginx# 创建新的nginx
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10# 注意一下这个路径映射到了/usr/share/nginx/html,我们在nginx配置文件中是写/usr/share/nginx/html,不是写/mydata/nginx/htmldocker update nginx --restart=always# 测试Nginx是否成功
cd /mydata/nginx/html/
vim index.html
随便写写
测试 http://192.168.56.10:80
docker安装其余用到的软件

docker安装elasticsearch 、kibana

项目架构图

项目划分图

创建项目

修改总项目的.gitignore,把小项目里的垃圾文件在提交的时候忽略掉,
**/mvnw
**/mvnw.cmd
**/.mvn
**/target/
.idea
**/.gitignore



详细代码
https://gitee.com/coder-msc/gilimall/blob/develop/pom.xml

创建数据库

脚本见这个
点他—> 数据库脚本文件

人人开源项目

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


移动文件夹,并且加入聚合项目里

启动看看

人人开源前端

vscode下载、安装、中文
Vscode下载地址-官网
汉化
ctrl + shift + P 搜索 configure language 安装中文插件

插件安装搜索: @category:“language packs”

安装Node
参考这个大佬写的
https://blog.csdn.net/qq_34732729/article/details/105652029

跑起来项目
直接将下载的前端文件拖入VScode 在npm install
完事在 npm run dev

访问了看看

我的代码:

https://gitee.com/coder-msc/gulimall-admina

代码生产器

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


mybatis的小鸟,需要安装mybatisx插件就可以显示了。

测试代码

如果代码依赖有报错的,那就到renren_fast去拷贝过来,并修改JDK版本为1.8.

## 新建yml文件,设置mybatis扫描路径,数据库连接地址。
spring:datasource:username: rootpassword: rooturl: jdbc:mysql://192.168.56.10:3306/gulimall_pms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghaidriver-class-name: com.mysql.jdbc.Driver# MapperScan
# sql映射文件位置
mybatis-plus:mapper-locations: classpath:/mapper/**/*.xmlglobal-config:db-config:id-type: auto



测试通过,后续接着补充营销服务、优惠券服务等的代码。

common里引入springcloud -alibaba

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

yml配置文件写法

spring:datasource:username: rootpassword: rooturl: jdbc:mysql://192.168.56.10:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Drivercloud:nacos:discovery:server-addr: 127.0.0.1:8848application:name: gulimall-couponmybatis-plus:mapper-locations: classpath:/mapper/**/*.xmlglobal-config:db-config:id-type: autologic-delete-value: 1logic-not-delete-value: 0
server:port: 7000

每个服务要有远程调用能力,需要引入OpenFeign组件

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>

要远程调用成功,这个注解很关键

Springboot版本和springbootCloud版本问题

不要用最新版,新版取消了Ribbon会报错的,建议降低版本使用,版本依赖可以参考我的代码。

https://gitee.com/coder-msc/gilimall

配置中心

在coupons项目中创建/src/main/resources/bootstrap.properties ,这个文件是springboot里规定的,他优先级别application.properties高

# 改名字,对应nacos里的配置文件名
spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

浏览器去nacos里的配置列表,点击+号,data ID:gulimall-coupon.properties,配置

# gulimall-coupon.properties
coupon.user.name="配置中心"
coupon.user.age=12

网关

创建网关项目

spring:application:name: gulimall-gatewaycloud:gateway:routes:- id: test_routeuri: https://www.baidu.compredicates:- Query=url,baidu- id: qq_routeuri: https://www.qq.compredicates:- Query=url,qq- id: product_routeuri: lb://gulimall-productpredicates:- Path=/api/product/**filters:- RewritePath=/api/(?<segment>.*),/$\{segment}- id: third_party_routeuri: lb://gulimall-third-partypredicates:- Path=/api/thirdparty/**filters:- RewritePath=/api/thirdparty/(?<segment>.*),/$\{segment}- id: member_routeuri: lb://gulimall-memberpredicates:- Path=/api/member/**filters:- RewritePath=/api/(?<segment>.*),/$\{segment}- id: ware_routeuri: lb://gulimall-warepredicates:- Path=/api/ware/**filters:- RewritePath=/api/(?<segment>.*),/$\{segment}- id: admin_routeuri: lb://renren-fastpredicates:- Path=/api/**filters:  # 这段过滤器和验证码有关,api内容缓存了/renren-fast,还得注意/renren-fast也注册到nacos中- RewritePath=/api/(?<segment>.*),/renren-fast/$\{segment}

后端初始化结束

到此为止,后端基础代码已经搭建完毕,可以使用我的代码来构建

管理后台

打开人人fast

后端


配置跨域

@Beanpublic CorsWebFilter corsWebFilter(){UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();CorsConfiguration corsConfiguration = new CorsConfiguration();// 配置跨域corsConfiguration.addAllowedHeader("*");corsConfiguration.addAllowedMethod("*");corsConfiguration.addAllowedOrigin("*");corsConfiguration.setAllowCredentials(true);source.registerCorsConfiguration("/**",corsConfiguration);return new CorsWebFilter(source);}

以后的基础代码直接copy吧,看着视频,拷着代码,一步一步来 多香。都是业务代码了。理解业务即可

做一点补充哈,少了个字段,加上就行。大约在视频P78的地方;
代码仓库也给放这了 看着拷贝吧!

https://gitee.com/coder-msc/gilimall

踩坑补充

一、
※p84 关于pubsub、publish报错,无法发送查询品牌信息的请求:
1、npm install --save pubsub-js
2、在src下的main.js中引用:
① import PubSub from ‘pubsub-js’
② Vue.prototype.PubSub = PubSub

二、
补充缺失的SQL

https://gitee.com/coder-msc/gilimall/tree/master/%E9%A1%B9%E7%9B%AE%E5%A4%87%E7%94%A8%E8%84%9A%E6%9C%AC%E7%AD%89%E6%96%87%E4%BB%B6/sql%E8%84%9A%E6%9C%AC

三、补充前端缺失代码
foreach前,必须要判空,否则会报错页面不显示

谷粒商城项目工具准备相关推荐

  1. M5(项目)-01-尚硅谷谷粒商城项目分布式基础篇开发文档

    M5(项目)-01-尚硅谷谷粒商城项目分布式基础篇开发文档 分布式基础篇 一.环境搭建 各种开发软件的安装 虚拟机: docker,mysql,redis 主机: Maven, idea(后端),Vs ...

  2. *谷粒商城项目笔记*

    谷粒商城项目笔记 一 项目介绍(略) 二分布式的基础概念 1,微服务 拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行 2, 集群是个物理形态,分布式是个工作方式. 例如:京东是个 ...

  3. 谷粒商城项目笔记之分布式基础(一)

    谷粒商城项目之分布式基础 目录 谷粒商城项目之分布式基础 前言 1 项目简介 1.1 项目背景 1.1.1 电商模式 1.1.2 谷粒商城 1.2 项目架构图 1.2.1 项目微服务架构图 1.2.2 ...

  4. 尚硅谷——谷粒商城项目开发记录——2021.11.19

    尚硅谷--谷粒商城项目开发记录--2021.11.19 出现错误 1.SpringBoot测试类出现Could not autowire. No beans of 'BrandService' typ ...

  5. 尚硅谷——谷粒商城项目开发记录——2021.11.22

    尚硅谷--谷粒商城项目开发记录--2021.11.22 概念: 1.对象优化: 新增的API: ES6 给 Object 拓展了许多新的方法,如: keys(obj): 获取对象的所有 key 形成的 ...

  6. 尚硅谷——谷粒商城项目开发记录——2021.11.21

    尚硅谷--谷粒商城项目开发记录--2021.11.21 概念: 1.var和let的区别: 作用域: var 声明的变量往往会越域 let 声明的变量有严格局部作用域 声明次数: var 可以声明多次 ...

  7. 尚硅谷——谷粒商城项目开发记录——2021.11.20

    尚硅谷--谷粒商城项目开发记录--2021.11.20 概念: 1.SpringCloud Alibaba: 简介: Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此 ...

  8. 谷粒商城项目搭建思路

    文章目录 基础篇 核心技术点 1. 搭建环境 1.1 安装Linux虚拟机 1.2 安装Docker 1.3 统一开发环境 1.4 搭建后台管理项目 1.5 逆向工程 1.6 测试商品服务功能 1.7 ...

  9. 实战 - 谷粒商城项目:基础篇First

    文章目录 SpringCloud商城- 基础篇 1. 环境搭建 1.1 centos7安装docker 1.2 docker安装MySQL5.7 1.3 docker安装Redis 1.4 环境安装配 ...

最新文章

  1. Python爬虫还在写重试代码?快快学习下优雅的tenacity库!
  2. Cocos 2d-x 3.3版本升级 五大维度提升3D品质
  3. [dpdk] SDK编译-简单扼要版
  4. pandas之数据结构
  5. oracle sqlldr详解,sqlldr详解
  6. php加本地音乐代码,WordPress添加音乐播放器(纯代码实现)
  7. 拓端tecdat|R语言实现LASSO回归——自己编写LASSO回归算法
  8. 航空429接口测试工装研究
  9. amazeui PHP,amazeui页面分析之登录页面
  10. CGI的介绍及简单应用
  11. 利用python脚本监控Tomcat服务器
  12. HTML如何剪切图片,css如何截取图片?
  13. 好好编程-物流项目21【订单管理-新增订单】
  14. 2018年全国国家级自然保护区功能区划空间分布
  15. GeoServer发布OSM地图
  16. 2020.9.8:Spring cloud :install时报错
  17. 使用SendCloud企业发送邮件
  18. 笔记:使用CSS实现箭头图标
  19. 基于Opencv3的活动轮廓模型--CV, RSF and DRLSE
  20. Navicat12.0.29_Premium_cs_x64激活

热门文章

  1. python怎么从excel获取数据_python怎么从excel中读取数据?/python 读取 excle
  2. html中给div或者span加边框css样式
  3. 大学物理第二章 质点动力学详解
  4. 前端FileReader对象实现图片file文件转base64
  5. 我的一年AI算法工程师成长记
  6. 【算法•日更•第十九期】动态规划:RMQ问题
  7. Chapter8:控制系统状态空间分析
  8. 2021 ICPC Southeastern Europe Regional Contest ABFGJKLN
  9. 嵌入式C语言自我修养:从芯片、编译器到操作系统-习题、笔记
  10. iOS开发中MD5加密算法的实现