# gulimall
**Repository Path**: BeheadingKill/gulimall
## Basic Information
- **Project Name**: gulimall
- **Description**: 谷粒商城
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2020-12-29
- **Last Updated**: 2022-06-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## : day1
**环境配置**
> 安装下载virtualbox,下载地址:https//www.virtualbox.org/
安装需要开启CPU虚拟化如图:


下载安装vagrant
* https://app.vagrantup.com/boxes/search Vagrant官方镜像仓库
* https://www.vagrantup.com/downloads.html Vagrant下载
* 打开window cmd窗口,运行vagrant igit config --nit centos/7,即可初始化一个centos7系统
* 运行vagrant up即可启动虚拟机,系统root用户的密码是vagrant
* vagrant其他常用命令
* vagrant ssh:自动使用vagrant用户链接虚拟机
* vagrant upload source [desitination][name|id]:上传文件
* https://www.vagrantup.com/docs/cli/init.html Vagrant命令行
* 默认虚拟机ip不是固定ip,开发不方便,默认是端口转发
* 修改Vagrantfile


```
config.vm.network "private_network",ip:"192.168.33.10",本机cmd执行ipconfig后
可以看到VirtualBox网卡的配置,将以上配置修改为192.168.56.10,重启虚拟机即可。
```
**gitee初始化项目**
> 配置用户名
git config --global user.name "username" //名字
配置邮箱
git config --global user.email "username@email.com" //gitee、github注册时使用的邮箱
配置ssh免密登录
gitee官方文档:https://gitee.com/help/articles/4181#article-header0
具体操作
进入gitbash;使用ssh-keygen -t rsa -C "xxxxx@xxxxx.com"命令,连续三次回车
一般用户目录会有

> 通过cat ~/.ssh/id_rsa.pub查看公钥,登录gitee,将公钥粘贴到gitee上去
使用ssh -T git@gitee.com测试是否成功即可
**安装配置docker**
docker官网:https://docs.docker.com/engine/install/centos/
安装docker
docker设置开机自启sudo systemctl enable docker
docker配置镜像加速 :登陆阿里云,产品与服务,容器镜像服务,依次执行centos命令即可
**docker安装mysql、redis**
```
docker pull mysql:5.7
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:33006 将容器的3306端口映射到主机的3306端口
-v /mydata/mysql/conf:/etc/mysql 将配置文件夹挂载到主机,把容器内部的/etc/mysql挂在到主机上方便操作
-v /mydata/mysql/log:/var/log/mysql 将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql 将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root 初始化root用户密码
进入容器指令:docker exec -it 容器id前几位、容器名字 /bin/bash
查询MySQL:whereis mysql
```
**docker设置容器开机自启**
```
docker update mysql --restart=always
```
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
```
注意:解决mysql链接慢的问题:在配置文件中加入skip-name-resolve,跳过域名解析
docker安装reids
```
docker pull redis
创建实例并启动
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
使用redis镜像执行redis-ci命令链接
docker exec -it redis redis-ci
```
maven配置3.6.1
```
配置阿里云镜像
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
配置jdk1.8编译项目
jdk-1.8
true
1.8
1.8
1.8
1.8
```
安装vscode
安装插件
## : 创建微服务项目
```
共同:
1. web、openfeign
2. 每一个服务包名都是com.atguigu.gulimall.xxx(product、memeber...)
3. 模块名:gulimall-product
```
## : 人人开源
```
后台:renren-fast
前端:renren-fast-vue vscode打开
vscode安装环境:
node.js(NPM是nodeJs中的包管理工具,类似java-maven,安装完后通过cmd中node -v检查版本)
配置node使用淘宝镜像,cmd执行
npm config set registry http:registry.npm.taobao.org/
vscode中首次执行项目执行npm install,相当于下载前端需要的依赖组件,然后运行npm run dev启动前端
默认账号秘密:admin
```
## : 微服务注册中心、配置中心、网关
### SpringCloud Alibaba最终方案
```
SpringCloud Alibaba - Nacos:注册中心(服务发现/注册)
SpringCloud Alibaba - Nacos:配置中心(动态配置管理)
SpringCloud - Ribbon:负载均衡
SpringCloud - Feign:声明式 HTTP 客户端(调用远程服务)
SpringCloud Alibaba - Sentinel:服务容错(限流、降级、熔断)
SpringCloud - Gateway:API 网关(webflux 编程模式)
SpringCloud - Sleuth:调用链监控
SpringCloud Alibaba - Seata:原 Fescar,即分布式事务解决方案
```
```
SpringCloudAlibaba SpringCloud SpringBoot
1.5.x Spring Cloud Edgware 1.5.x
2.0.x Spring Cloud Finchley 2.0.x
2.1.x Spring Cloud Greenwich 2.1.x
2.2.x Spring Cloud Hoxton 2.2.x
```