尚硅谷谷粒商城
尚硅谷谷粒商城
1. 软件准备
下载、安装Virtual Box https://www.virtualbox.org/wiki/Downloads
下载、安装Vagrant https://www.vagrantup.com/downloads.html
2. vagrant:查看是否安装成功
img
3. vagrant init centos/7:初始化
这里有各种 Linux 镜像 https://app.vagrantup.com/boxes/search,选择自己需要的版本下载即可
初始化后,在当前用户文件夹下会有一个 Vagrantfile 文件
4. vagrant up:启动虚拟机
(第一次运行会下载)
vagrant 下载很慢
使用迅雷下载,然后执行
vagrant box add centos/7 /Users/taylor/personal/setups/CentOS-7-x86_64-Vagrant-1905_01.VirtualBox.box
然后再执行 vagrant up即可,启动完成看到下面的内容,就可以愉快的vagrant ssh登录了
5.修改VB网络地址
创建一个网卡
修改Vagrantfile,使在一个网段,比如改成56.10
然后宿主机和虚拟机互ping通即可
ping -c 3 xxx.xxx.xxx.xxx
6.docker 安装mysql
sudo docker pull mysql:5.7
docker run -p 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
-d mysql:5.7
[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
7.docker 安装redis
docker pull redis
mkdir -p /mydata/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
开发环境
maven配置
搭建工程
添加模块
配置.ignore
数据库设计
Mac上的数据库设计工具
DBeaver
Docker上开机启动
sudo docker update mysql --restart=always
renren-fast数据库
前端环境准备
安装nodejs
image-20200405161809174
npm config set registry http://registry.npm.taobao.org/
1.安装xcode
2.删除node_modules
3.删除高版本nodejs,安装10.X版本,10.19.0是没问题的
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man//node.}
4.npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
5.npm install
代码生成器
80端口被占用
sudo lsof -n -P | grep :80
sudo apachectl stop
Nacos配置启动
报错
https://juejin.im/entry/5cd39b4de51d453a59418b8e
删除报错信息中的’/data/nacos/data/derby-data’目录,重新启动。
注册中心 服务发现
1.添加pom依赖
放在gulimall-common中,作为公共服务
3.将服务注册的注册中心
配置中心
com.atguigu.gulimall.coupon.GulimallCouponApplication
- 一、如何使用nacos作为配置中心统一管理配置
- 1.在common中引入依赖
-
com.alibaba.cloud -
spring-cloud-starter-alibaba-nacos-config - 2.创建配置文件 bootstrap.properties
- spring.application.name=gulimall-coupon
- spring.cloud.nacos.config.server-addr=192.168.0.100:8848
- 3.在nacos客户端,给配置中心添加一个数据集
- gulimall-coupon.properties
- 格式为 应用名称.properties
- 4.在 应用名称.properties中添加所需要的配置
- 5.动态获取配置
- 添加注解
- @RefreshScope:动态刷新并获取配置
- @Value("${配置项名称}")
- 如果配置中心和当前应用的配置文件中配置了相同的配置项,优先使用配置中心的配置
- 二、细节****
- 1.命名空间:作用 做配置隔离
- 默认:public(保留空间);默认新增的所有配置都在public空间内
- ①开发、测试、生产 分别配置
- 在bootstrap.properties里配置想要使用的命名空间的配置项
- spring.cloud.nacos.config.namespace=8a4f21ba-3ef2-4754-8b2f-ef3b3c2ed8c8
- ②每一个微服务之间相互隔离,每一个微服务创建自己的命名空间,只加载自己命名空间下的所有配置
- 2.配置集
- 3.配置集ID
- 4.配置分组
- 一般实践:
- 每个微服务创建自己的命名空间,使用配置分区区分环境:dev、test、prod
命名空间
在nacos界面添加新命名空间
默认使用public命名空间
修改使用命名空间
Feign远程调用
com.atguigu.gulimall.member.GulimallMemberApplication
调用方
com.atguigu.gulimall.member.controller.MemberController
服务方
com.atguigu.gulimall.coupon.controller.CouponController
网关
引入common时排除数据库相关
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
报错
spring initializr error
取消代理即可
网上查是gateway和web包冲突,解决方案:common的pom替换掉
gulimall
com.atguigu.gulimall
0.0.1-SNAPSHOT
4.0.0
gulimall-common
每一个微服务公共的依赖,bean,工具类等 com.baomidou mybatis-plus-boot-starter 3.2.0 org.projectlombok lombok 1.18.8 org.apache.httpcomponents httpcore 4.4.12 commons-lang commons-lang 2.6 mysql mysql-connector-java 8.0.17 javax.servlet servlet-api 2.5 provided com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config javax.validation validation-api 2.0.1.Final com.alibaba.cloud spring-cloud-alibaba-dependencies 2.1.0.RELEASE pom import
网关路由与路径重写
跨域问题
端口及之前的内容【协议、域名、端口】有任何不同,就不允许获取数据
解决方案
通过Nginx反向代理,转化为同一个域
通过gateway的filter
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
