vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建

【Day01】光子商城

出自尚硅谷雷丰阳老师的电商项目谷粒商城

基于SpringBoot2.x、SpringCould 2.x、redis、docker、vue…

分布式微服务前后端分离

一、项目介绍

一个B2C模式的电商平台,向用户销售自营的商品

二、项目微服务架构图

vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建_第1张图片

三、环境搭建

1、Linux虚拟机

我这里用的是VM ware12安装了CentOS 7.8

宿主机和虚拟机互ping小坑

刚开始网络模式用的NAT模式,虚拟机可以ping通主机,主机ping不到虚拟机,然后百度了一通,跟着网上的操作,还原了网络默认设置,之后就发现ens33都没法启用了…

之后重新设置网络才可以,参考的文章为:https://www.cnblogs.com/aeolian/p/8882790.html,这篇文章对虚拟机网络配置的介绍比较全,解决了我所遇到的问题。

2、Linux安装docker

强烈推荐使用docker搭建环境,简直方便的不行

3、docker安装常用服务

3.1 安装mysql

我这里pull的是mysql 5.7

# 拉取镜像
docker pull mysql:5.7
# 运行mysql容器
docker run -p 3306:3306 --name mysql \  # 将容器的3306端口映射到主机的3306端口
> -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 \ # 初始化root用户的密码
> -d mysql:5.7

在/mydata/mysql/conf/创建my.conf配置文件,并进行配置

cd /mydata/mysql/conf/
touch my.conf
vim my.conf
# 配置内容如下
[client]
default-character-set=utf-8

[mysql]
default-character-set=utf-8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAME utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

重新启动mysql容器,配置生效

用主机的navicat连接一下刚刚运行的数据,看看是否能连接正常

这里主机就填linux虚拟机的ip地址,建议连接名也可以使用ip地址,方便管理

vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建_第2张图片

当测试链接出现连接成功时,则说明mysql环境搭建成功。

vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建_第3张图片

3.2 安装redis

我这里pull的是redis 6.0

# 拉取镜像
docker pull redis:6.0.12
# 运行容器
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

同时要在/mydata/redis/conf/下创建redis.conf配置文件,并进行配置

mkdir -p /mydata/redis/conf
cd /mydata/redis/conf/
touch redis.conf
vim redis.conf

# 配置内容
appendonly yes 
bind 0.0.0.0
protected-mode no

这里我只进行了最基本的配置,要想配置更多的内容,可以到redis官网找到相关的配置文件,进行下载修改替换该文件即可。具体地址:https://redis.io/topics/config 找到自己的版本进行下载修改

然后进行在主机测试redis容器运行情况

这里可以使用redis的可视化工具RedisDesktopManager通过虚拟机ip及redis端口号进行测试

vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建_第4张图片

出现此弹窗则为环境配置成功。

# 此命令可以让redis随着docker的启动而自动启动,mysql也可以这样设置
docker update --restart=always myredis
3.3 安装nocas

pull最新版镜像

docker pull nacos/nacos-server

设置挂载目录,并对配置文件进行修改

mkdir -p /home/nacos/logs/                      #新建logs目录
mkdir -p /home/nacos/init.d/          
vim /home/nacos/init.d/custom.properties        #修改配置文件
# 配置内容
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pass

nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false

management.metrics.export.elastic.enabled=false

management.metrics.export.influx.enabled=false

server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i


nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true

启动容器

docker run -p 8848:8848 --name nacos -d \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /home/nacos/logs:/home/nacos/logs \
-v /home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server

可以通过http//虚拟机ip:80/nacos,默认账户密码都是nacos进行访问

4、开发工具

idea、maven、及webstorm

5、git配置

进入git bash窗口,输入以下命令

ssh-keygen -t rsa -C "[email protected]" # 获取ssh密钥,直接三次回车即可

查看密钥

cat ~/.ssh/id_rsa.pub 

将密钥复制添加到码云中的ssh公钥中

进行测试

ssh -T [email protected]

若有successfully则配置成功

6、项目结构创建

6.1 新建仓库

在码云中新建一个仓库

vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建_第5张图片

之后打开idea导入git项目,将仓库的地址输入即可导入

vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建_第6张图片

6.2 创建微服务模块

使用Spring Initializr快速构建各个SpringBoot子模块,在各个模块中要选择Web和OpenFeign的依赖

vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建_第7张图片

在gzmall下复制一个pom.xml用来聚合各个模块

vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建_第8张图片

在gzmall下的.gitignore下忽略不需要的子文件

**/mvnw
**/mvnw.cmd

**/.mvn
**/target/

.idea
**/.gitignore
6.3 提交到码云

vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建_第9张图片

7、数据库初始化

通过navivat远程连接mysql数据库,为各个微服务模块创建相应的数据库

vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建_第10张图片

你可能感兴趣的:(光子商城项目实战,docker,微服务,spring,boot,spring,cloud,vue)