目录
一、回顾
nginx:
优点: 占用内存少,并发能力强。
作用: 反向代理和负载均衡,动静分离。
二、nginx的动静分离
动静分离:把服务器端的静态资源和动态资源分开处理。
动态资源: --->内容会随着服务器返回的结果而变化。-->jsp模板引擎
静态资源:--->css.js.image.html
上面的请求可以发现:我们每次发送请求动态资源时,服务端会把动态资源返回给客户,可以获取动态资源后,该动态资源可能依赖静态资源,客户拿到动态资源后,还有向服务器发送请求静态资源。还是相当于服务处理了静态服务。这样明显服务器压力过大。而且服务如果是集群,那么服务器对静态资源的维护比较麻烦。我们可以使用nginx实现服务器的动静分离。
2.1如何配置动静分离
(1)把静态资源放到nginx的安装目录
(2)修改配置文件
(3)启动nginx和jar文件
(4)访问nginx地址
三、nginx高可用
1. 两台: 140 Master 141 backup
需要在每一个nginx服务器上安装keepalived
yum install keepalived 安装keepalived
rpm -q -a keepalived 检查是否安装keepalived
默认安装路径: /etc/keepalived
修改keepalive的配置文件
替换原来的keepalived 配置文件
开启keepalived 和nginx服务。
1. ./nginx
2. sytemctl start keepalived.service
用ip地址网页测试
四、redis
4.1什么是NOSQL
NOSQL(not only sql)不仅仅是sql,对所有非关系型数据库的一种通称。
4.2NOSQL和RDBMS的区别
RDBMS
-高度组织化结构化数据。 user---userid username age sex .....
- 结构化查询语言(SQL) sql语句
- 数据和关系都存储在单独的表中。
- 数据操纵语言DML,数据定义语言DDL
- 严格的一致性. 事务 .
- 基于事务NOSQL
-高度组织化结构化数据。 user---userid username age sex .....
- 结构化查询语言(SQL) sql语句
- 数据和关系都存储在单独的表中。
- 数据操纵语言DML,数据定义语言DDL
- 严格的一致性. 事务 .
- 基于事务
NOSQL还不能代替RDBMS数据库
4.3常见的NOSQL数据库类型
redis---基于key-value实现的。
mongodb--->基于文档来实现。---接近mysql数据库
4.4什么是redis
Redis 是一个开源(BSD 许可)的内存数据结构存储,用作数据库、缓存和消息代理。Redis 提供数据结构,例如字符串、散列、列表、集合、具有范围查询的排序集合、位图、超日志、地理空间索引和流。Redis 具有内置复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久性,并通过 Redis Sentinel 和 Redis Cluster 自动分区提供高可用性。
Redis是一个开源的使用ANSI C语言编写可基于内存亦可基于磁盘,Key-Value数据库。类似于map
4.5为什么使用redis
1.Redis读取的速度是110000次/s,写的速度是81000次/s
2.原子。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
4.持久化--磁盘,主从复制(集群)
5.官方不支持window系统,但是又第三方版本。 linux系统。
redis的所有运算都在内存中执行。 而且它的数据可以保存到磁盘。
4.6如何使用redis
(1)redis的插件
yum install -y gcc-c++
(2)上传redis安装包
(3)解压该文件
tar -zxvf redis-6.2.6.tar.gz
(4)编译redis和安装(进入解压目录)
make
make install
(5)启动redis服务器
redis-server /redis配置文件所在的路径
(6)客户连接redis服务
redis-cli -h ip -p 端口号
如果不跟-h 和 -p 默认为 127.0.0.1 6379
4.7设置redis启动时后台启动
4.8redis图像化界面--redisplus
redis默认不允许远程连接。--修改redis.conf配置文件
配置文件显示行数
:/set number