文章目录
- 一、
- 二、环境创建
-
- 1、虚拟机创建
- 2、虚拟机安装docker等
-
- [1. 安装docker](#1. 安装docker)
- [1. 配置阿里docker](#1. 配置阿里docker)
- 3.docker安装mysql
- 4、docker安装redis
- 3、软件
-
- [1.Maven 阿里云镜像+1.8jdk](#1.Maven 阿里云镜像+1.8jdk)
- [2、idea +lombok+mybatisX ,](#2、idea +lombok+mybatisX ,)
- [3、 visualStudioCode](#3、 visualStudioCode)
- [4、安装 git](#4、安装 git)
- 三、项目环境搭建
-
- 1、创建后台Spring项目
-
- [1. 创建远程仓库,添加shh key 连接远程仓库](#1. 创建远程仓库,添加shh key 连接远程仓库)
- [2. 下拉项目 gulimsll](#2. 下拉项目 gulimsll)
- [3. 创建五个模块product/order/ware/coupon/member](#3. 创建五个模块product/order/ware/coupon/member)
- [4. 设置主项目的.gitignore和pom.xml](#4. 设置主项目的.gitignore和pom.xml)
- 2、数据库
-
- [1. 设置redis 和mysql自动启动](#1. 设置redis 和mysql自动启动)
- [2. 连接数据库](#2. 连接数据库)
- [3. 创建各个数据库 注意 字符集为utf8mb4 排序为默认](#3. 创建各个数据库 注意 字符集为utf8mb4 排序为默认)
- 3、拉取克隆人人资源公开项目,前端和后端
-
- [1. 把项目中的。git删除,并吧fast后台放到主项目中,主项目pom添加模块](#1. 把项目中的。git删除,并吧fast后台放到主项目中,主项目pom添加模块)
- [2. 用visual code 打开前端项目](#2. 用visual code 打开前端项目)
- [3. 下载安装Node.js](#3. 下载安装Node.js)
- [4. npm install 下载依赖(根据packag.json)](#4. npm install 下载依赖(根据packag.json))
- 4、项目框架启动
- 四、项目基础功能
- [五、安装中间件 阿里组件](#五、安装中间件 阿里组件)
-
- 1、介绍
-
- [1. SpringCloud 的几大痛点](#1. SpringCloud 的几大痛点)
- [2. SpringCloud Alibaba 的优势:](#2. SpringCloud Alibaba 的优势:)
- [3. 当前项目 SpringCloud Alibaba 我们最终的技术搭配方案:](#3. 当前项目 SpringCloud Alibaba 我们最终的技术搭配方案:)
- [4. 版本选择](#4. 版本选择)
- 2、安装
-
- [1. nocas-alibaba 注册中心](#1. nocas-alibaba 注册中心)
- [2.openFeign-SpringCloud 远程调用](#2.openFeign-SpringCloud 远程调用)
- [3.nocas 配置中心](#3.nocas 配置中心)
- [4. 配置gateway网关](#4. 配置gateway网关)
- 参考文章

一、
服务治理
- Nacos 注册中心
- Nacos 配置中心
- Seata 分布式事务
- Sentinel 服务熔断降级
网路
- Feign 远程调用&负载均衡
- Gateway 网关
- Sleuth 链路追踪
- Zipkin 可视化追踪
数据支撑
- redis 缓存
- mysql 持久化
- rebbitMa 消息队列
- ElasticSearch 全文检索
- Oss 阿里云存储服务
日志处理ELK
- Kibnan 将Es中的日志可视化
- LogStash 日志捕获
- ES 存放日志
应用监控
- Prometheus 分析监控信息
- Grafana 可视化监控信息
- Prometheus 的Altermananger 发送监控信息
集成工具
- GItHub 上传代码
- Jenkins 获取代码
- Docker 打包成docker镜像
- Kuberneters 集成docker服务
开发工具
- Virtualbox 虚拟机 https://www.virtualbox.org/
- vagrant linux镜像工具 https://developer.hashicorp.com/vagrant/downloads?host=www.vagrantup.com
二、环境创建
1、虚拟机创建
-
下载Virtualbox 安装
-
下载vagrant 安装 重启 判断是否安装成功
-
安装centos7镜像文件
vagrant init centos/7
设置环境 -
vagrant up启动环境
需要很长时间
启动成功Virtualbox 也会自动运行虚拟机
直接在命令窗口 vagrant shh 就可以连接虚拟机了,
-
配置网络
cmd 查看IP
把
这个文件的这里
改成对应的IP地址,然后重启 vagrant reload
如果无法重启就通过Virtualbox 直接关机在打开,
-
ipaddr查看一下IP改对没,然后在ping一下外机
使用vagrant ssh启动时一定保证在vagrantfile文件目录下打开
2、虚拟机安装docker等
1. 安装docker
-
删除以前记录
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
-
设置存储库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo \https://download.docker.com/linux/centos/docker-ce.repo
-
安装
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
-
启动docker
sudo systemctl start docker
-
设置docker开机自起 sudo systemctl enable docker
1. 配置阿里docker
- 登录阿里云,在产品服务里计算里面找到容器镜像服务
- sudo mkdir -p /etc/docker ( 创建文件夹)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://oxxsyw0h.mirror.aliyuncs.com"]
}
EOF (设置路径)
sudo systemctl daemon-reload (重启docker的线程)
sudo systemctl restart docker (重启docker)
3.docker安装mysql
-
sudo docker pull mysql:版本
-
sudo docker images 查看是否安装
-
切换成root用户完成创建实例操作 su root 密码为 vagrant whoami 查看当前用户
-
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
参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
--name mysql :起一个容器名字
-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 用户的密码
错误
这一步发送了错误
docker: invalid reference format. See 'docker run --help'.
查看错误 $ sudo dockerd --debug
INFO[2022-11-10T05:42:34.344590302Z] Starting up
DEBU[2022-11-10T05:42:34.346441844Z] Listener created for HTTP on unix (/var/run/docker.sock)
failed to start daemon: Unable to get the TempDir under /var/lib/docker: mkdir /var/lib/docker/tmp: no space left on device
在unix上为HTTP创建的侦听器(/var/run/docker.sock)
无法启动守护程序:无法获取/var/lib/docker:mkdir/var/lib/docker/tmp下的TempDir:设备上没有剩余空间
尝试删除docker.sock 还是失败
查看dev/sdal 发现他妈的占了40g
发现问题
vagrant提供了将本机目录挂载到虚拟机目录下的功能,默认是将vagrant配置文件所在目录挂载到虚拟机/vagrant目录下。
- 设置配置
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
第一次还是失败了,然后把换行符删除了就成功了 - docker ps 查看当前运行的容器
- 查看容器原理 每一个容器其实就是一个精简版的linux
- 设置mysql cof内容
退出进入conf文件夹 vi my.cnf 把配置复制进去就行了
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
9. docker restart mysql 重启mysql
10. cat查看 my.cof 有没有

#### 4、docker安装redis
1. docker pull redis
2. 创建文件映射
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 : 创建映射
3. 
4. 修改配置信息 添加开启 aof新版的默认开启了
5. 查看redis官方的配置信息,[这个会了很重要](https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf)
### 3、软件
#### 1.Maven 阿里云镜像+1.8jdk
#### 2、idea +lombok+mybatisX ,
#### 3、 visualStudioCode
安装前端插件

#### 4、安装 git
## 三、项目环境搭建
### 1、创建后台Spring项目
#### 1. 创建远程仓库,添加shh key 连接远程仓库

#### 2. 下拉项目 gulimsll
#### 3. 创建五个模块product/order/ware/coupon/member
选择spring
#### 4. 设置主项目的.gitignore和pom.xml
!\[在这里插入图片描述\](https://img-blog.csdnimg.cn/4a5e5248143a4d9bb946103457611698.png
### 2、数据库
#### 1. 设置redis 和mysql自动启动
`sudo docker update mysql --restart=always`
`sudo docker update redis --restart=always`重启查看是否自动启动
#### 2. 连接数据库
#### 3. 创建各个数据库 注意 字符集为utf8mb4 排序为默认

### 3、拉取克隆人人资源公开项目,前端和后端

#### 1. 把项目中的。git删除,并吧fast后台放到主项目中,主项目pom添加模块

#### 2. 用visual code 打开前端项目
#### 3. 下载安装Node.js
[官网](https://nodejs.org/en/)
检查版本
设置阿里镜像 `npm config set registry http://registry.npm.taobao.org/`
> 大家如果 npm install 安装依赖出现 chromedriver 之类问题,先在项目里运行下面命令 npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver 然后再运行 npm install
#### 4. npm install 下载依赖(根据packag.json)
无错误信息表示下载成功,如果下载失败请退出要管理员身份运行,或者退出新建终端,确认网络
### 4、项目框架启动
1. npm run dev 启动前端项目
2. 启动后台 renren-fast
默认用户名密码 admin admin

## 四、项目基础功能
### 1、利用代码生成器开发基础功能,生成product
[利用人人开源代码生成器](https://gitee.com/renrenio/renren-generator)

1. git clone generator代码生成工具
2. 吧文件中的git删除,吧generator放到项目中并添加maven模块名称
3. 修改配置信息生成代码,先生成pms数据库,product模块
4. **注意修改正确代码生成模板**
5. 修改完成后启动项目
6. 全选点击生成代码生成一个压缩包
7. 将生成的product模块的main文件直接粘贴在项目中,
### 2、创建gulimall-common公共模块
1. 创建模块
2. 在其他模块pom中引入公共模块
3. 将需要的renrenfast中utils的类放到common模块中
4. 导入公共包需要的pom文件
```xml