一、安装docker
Docker安装文档:https://docs.docker.com/install/linux/docker-ce/centos/
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
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
4.启动docker
sudo systemctl start docker
5.查看Docker虚拟机上下载有什么镜像 使用超级管理员 sudo docker images命令
6.设置docker开机自启动 sudo systemctl enable docker
7.Docker配置阿里云镜像加速
登录成功之后点击控制台,选中容器镜像服务,在容器镜像服务中选择镜像加速器
以此执行以下命令
二、docker安装mysql
1.去镜像仓库中下载
使用命令
sudo docker pull mysql:8.0
检查下载镜像
sudo docker images
2.启动容器
docker run --privileged=true -p 3306:3306 --name mymysql -v $sql/conf:/etc/mysql/conf -v $sql/logs:/logs -v $sql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
参数说明:
-p 3306:3306将容器的3306端口 映射到主机的3306端口
-v /sql/log:/var/log/mysql :将日志文件夹挂载到主机
-v /sql/data:/var/lib/mysql :将配置文件夹挂载到主机
-v /sql/conf:/etc/mysql :将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root :初始化root用户的密码
--privileged=true :解决docker挂载文件路径后无法启动的问题
启动成功之后可以根据 docker ps命令 查看启动成功的容器
如果想要删除容器,需要先停止服务
docker stop 容器id
之后进行删除
docker rm 容器id
3.修改mysql的配置文件
主要修改mysql的配置文件编码
在本机的conf目录中使用
vi my.cnf
进行编辑
编码内容如下:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connet='SET collation_connection = utf8_unicode_ci'
init_connet='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
三、安装Redis
1.下载Redis
使用命令进行下载,不加版本号,默认下载最新版
docker pull redis
2.启动Redis,并挂载目录
(1)首先需要创建文件夹,创建文件
(2) 进行启动Redis,并挂载目录
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持久化,需要修改配置文件
在redis.conf中,输入一下代码,实现持久化
appendonly yes
修改完之后使用docker restart redis 进行重启Redis。
四、开发环境统一
1.配置Maven
在maven配置文件setting中进行配置
<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>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
<profile>
</profiles>
在idea的setting中进行配置
2.下载安装VSCode并安装插件
下载地址Download Visual Studio Code - Mac, Linux, Windows
插件:
3.配置git
首先下载git,下载成功后安装直接一路next即可。
下载完成之后需要创建一个gitee账号。
然后代开Git Bash Here对git进行配置
首先配置提交代码的用户名和邮箱地址
为了避免我们再向gitee提交代码的时候要输入密码,在这里可以设置一个公钥,需要输入注册gitee的邮箱地址,输入完成之后直接敲击三次回车即可。
输入命令
cat ~/.ssh/id_rsa.pub 查看秘钥
将秘钥复制到gitee中
打开设置,选择安全设置
将刚刚生成的秘钥进行粘贴即可。
4.从gitee初始化一个项目
首先新建仓库
5.在idea中克隆项目
右键项目,创建项目微服务
因为是基于web开发,各个项目直接需要相互调用,所以刚开始先导入这俩个依赖
依次创建:商品服务、仓储服务、订单服务、优惠券服务、用户服务
创建完成之后,在父项目创建配置pom
git提交的时候需要过滤垃圾文件
最后直接提交即可。
6.初始化数据库
使用Navicat链接虚拟机的地址
链接完成之后创建数据库,创建成功之后,执行资料中的sql,创建表。
7.快速开发,使用人人开源搭建项目
在gitee中搜索人人开源,并进入主页
选择renren-fast 和 renren-fast-vue进行快开发
将renren-fast放到父工程中,并修改pom
用vscode打开renren-fast-vue,并下载node
下载成功之后配置淘宝镜像
npm config set registry http://registry.npm.taobao.org/
打开vscode终端,使用npm install加载项目依赖,加载成功之后执行命令npm run dev运行项目
npm run dev
8.快速开发,逆向工程的搭建和使用
在gitee人人开源中克隆
下载之后打开网址人人代码生成器
将生成后的代码复制到product模块中,并创建公共模块gulishop_common,用于存放公共的依赖、bean、工具类等。
9.配置Mybatis-plus
(1)导入依赖
(2)配置
1.配置数据源:
1)、导入数据库的驱动。
2)、在application.yml中配置数据源相关信息
2.配置Mybatis-Plus
1)、使用@MapperScan
2)、告诉Mybatis-plus,sql映射文件位置
10. Spring cloud Alibaba简介
11.注册中心搭建
SpringCloud Alibaba-Nacos[作为注册中心]
如果这里启动失败,可以用记事本或者其他方式打开startup.cmd 将以集群模式启动改成以单机模式启动
启动成功之后在yml中进行配置注册中心地址
然后在启动类中加上
@EnableDiscoveryClient
注解,注册到注册中心里面。
配置服务名称:
之后启动项目再通过8848端口访问nacos,进行登录,账号和密码都是nacos
进入nacos后可发现有一个实例已经成功注入
接下来一次将剩余的服务进行注入。
Feign 使用三步:
1.导包openfeign
2.开启@EnableFeignClients功能
3.编写接口,进行远程调用
2.在reources中新增bootstarp.properties 配置文件 ,该配置文件会优先执行于其他配置文件。在配置文件中,配置应用名和配置中心地址
3.需要给配置中心中添加一个 数据集Data Id
启动项目后后台会有一个dataid 将这个名称在nacos的配置
根据需求配置完成之后利用@RefreshScop动态刷新配置,利用@Value("${配置项的名}")获取值
如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置。
Nacos配置中心-命名空间与配置分组
1.命名空间 :配置隔离,可以根据环境进行隔离,也可以根据服微服务进行隔离; 默认的命名空间是public(保留空间)
可以根据需求自己创建命名空间
如果想要切换命名空间,则需要在bootstrap.properties中进行配置
这里要写命名空间对应的命名空间的Id
也可以给每一个微服务创建一个命名空间,让他只读自己命名空间下的配置
2.配置集:所有的配置集合
3.配置集ID:类似于文件名
4.配置分组:
默认所有的配置集都属于:DEFAULT_GROUP
我们可以自己制定分组,需要在配置文件中进行配置
此项目中每个微服务创建自己的命名空间,使用配置分组区分环境,dev,test,prod
微服务任何配置信息,任何配置文件都可以放在配置中心中
只需要在bootstarp.properties说明加载配置中心中哪些配置文件即可
可以用@Value,@ConfigurationProperties,以前SpringBoot任何方法从配置文件中获取值,都能使用。
配置文件有先使用配置中心的
网关
Gateway
1.创建网关模块
2.导入gateway依赖
3.在配置文件中配置注册中心地址、端口号和服务名称
配置命名空间
配置网关规则,进行测试
前端基本知识
快捷键:!+Enter 生成模板
ES6基础
1.let和var
(1)var 声明的变量往往会越域,let 声明有严格局部作用域
(2)var 可以声明多次 ,let 只能声明一次
2.const声明常量(只读变量)
(1)一旦声明之后不允许改变
(2)一旦声明必须初始化,否则会报错
3.解构表达式
数据解构
对象解构
4.字符串扩展
5.字符串模板
字符串插入变量和表达式。变量名写在${}中,${}中可以放入javaScript表达式
箭头函数
箭头函数+ 解构
map和reduce方法
promise
可以封装异步操作,有两个参数,一个是成功的,一个是失败的
可以无限调用,每一步失败了怎么怎么样,成功了怎么怎么样
上图的使用太过麻烦,下面是封装好的
function get(url, data) {
return new Promise((resolve, reject) => {
$.ajax({
url: url,
data: data,
success: function (data) {
resolve(data);
},
error: function (err) {
reject(err)
}
})
});
}
get("mock/user.json")
.then((data) => {
console.log("用户查询成功~~~:", data)
return get(`mock/user_corse_${data.id}.json`);
})
.then((data) => {
console.log("课程查询成功~~~:", data)
return get(`mock/corse_score_${data.id}.json`);
})
.then((data)=>{
console.log("课程成绩查询成功~~~:", data)
})
.catch((err)=>{
console.log("出现异常",err)
});
Es6模块化
1.什么事模块化
模块化就是把代码进行拆分,方便重复利用。类似java中的导包;要使用一个包,必须先导包。而js中没有包的概念,换来的是模块
模块主要由两个命令构成:‘export’和‘import’
- ‘export'命令用于规定模块的对外接口
- ‘import’命令用于导入其他模块提高的功能
必须先导出,才能在其他模块中导入
Vue
1.MVVM思想
- M:即Model,模型,包括数据和一些基本操作
- V:即View,视图,页面渲染结果
- VM,即View-Model,模型与视图间的双向操作
只要修改了model中的数据,view也会及时改变,用户修改了view中的数据,model也会随之改变