一、环境搭建
1、用VirtualBox搭建linux虚拟机(电脑一定要开启cpu虚拟化)
(1)用 Vagrant init centos/7 命令初始化一个centos7系统
vagrant up 开启centos
vagrant ssh 连接centos
2、虚拟机网络设置:
打开 Vagrantfile,找到config.vm.network "private_network", ip: "192.168.56.10"。
打开本地的cmd ipconfig 找到 Vagrant 的 IPV4 地址,替换掉原来的ip地址。
重启 Vagrant (vagrant reload)。
检查ip地址 (vagrant addr)。
相互ping 一下IP地址,能ping通就可以。
3、安装dockerce:
1、卸载系统之前的 docker:
1.卸载系统之前的 docker:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.安装必须的依赖
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3.设置 docker repo 的 yum 位置
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
5.启动docker
sudo systemctl start docker
6.设置开机自启
sudo systemctl enable docker
7.配置 docker 镜像加速(阿里云,容器镜像服务)
4.docker 安装mysql
1. docker pull mysql:5.7
2、创建实例并启动
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
3.切换到文件路径
vi /mydata/mysql/conf/my.cnf
4. MySQL 配置
[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
5.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
6.配置maven
配置阿里云镜像
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
7.安装 git
、1、下载 git;https://git-scm.com
2、配置 git,进入 git bash
# 配置用户名
git config --global user.name "username" //(名字)
# 配置邮箱
git config --global user.email "username@email.com"
3、配置 ssh 免密登录
进入 git bash;
使用: ssh-keygen -t rsa -C "xxxxx@xxxxx.com"命令。
连续三次回车。
二、创建项目微服务
商品服务、仓储服务、订单服务、优惠券服务、用户服务
共同点:
1)、web、openfeign
2)、每一个服务,包名 com.atguigu.gulimall.xxx(product/order/ware/coupon/member)
3)、模块名:gulimall-coupon
三、创建一个gitee仓库 将代码推送
四、SpringCloud
1.SpringCloud Alibaba
在common引入
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在这块我没用 ,我自己管理版本。
2、SpringCloud Alibaba-Nacos[作为注册中心]
1.下载 nacos-server
https://github.com/alibaba/nacos/releases
2、启动 nacos-server
进入里面的bin目录 cmd开启nacos(startup.cmd -m standalone )
3.将微服务注册到 nacos 中:
spring-cloud-starter-alibaba-nacos-discovery:版本自己找
配置:spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848、 spring.application.name=service-provider(/application.properties)@EnableDiscoveryClient(启动类上)
3、SpringCloud Alibaba-Nacos[作为配置中心]
spring-cloud-starter-alibaba-nacos-config:版本自找
这个文件:bootstrap.properties
spring.application.name=nacos-config-example
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
4、加载多配置文件
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=31098de9-fa28-41c9-b0bd-c754ce319ed4
spring.cloud.nacos.config.ext-config[0].data-id=gulimall-datasource.yml
spring.cloud.nacos.config.ext-config[0].refresh=false
spring.cloud.nacos.config.ext-config[0].group=dev
4、网关创建
这个依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
Spring Cloud Gateway的路由配置。将所有请求到/after_route
的路径重定向至https://www.baidu.com
。