# 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虚拟化如图: ![avatar](asserts/virtualbox1.png) ![avatar](asserts/virtualbox2.png) 下载安装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 ![avatar](asserts/修改vagrant配置.png) ![avatar](asserts/virtualBox.png) ``` 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"命令,连续三次回车 一般用户目录会有 ![avatar](asserts/rsa.png) > 通过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 ```