-ip_hash:每个请求按照发起客户端的ip的hash结果进行匹配,这样的算法下一个固定ip地址的客户端总会访问到同一个后端服务器,这也在一定程度上解决了集群部署环境下session共享的问题。
-fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配,响应时间短处理效率高的服务器分配到请求的概率高,响应时间长处理效率低的服务器分配到的请求少;结合了前两者的优点的一种调度算法。但是需要注意的是nginx默认不支持fair算法,如果要使用这种调度算法,请安--装upstream_fair模块
-url_hash:按照访问的url的hash结果分配请求,每个请求的url会指向后端固定的某个服务器,可以在nginx作为静态服务器的情况下提高缓存效率。同样要注意nginx默认不支持这种调度算法,要使用的话需要安装nginx的hash软件包
####6.nginx安装
使用yum命令进行安装:yum-yinstallnginx
注:这种安装方法下,nginx的一些第三方的东西就没办法安装了
####7.nginx的nginx.conf配置
![enterdescriptionhere](更新内容/1543375430482.png)
三者的名字记得一样哦
####8.nginx的启动、重启、关闭的命令
-启动:
到nginx安装目录的sbin下“nginx/sbin”
使用命令
```
./nginx
```
或者使用命令
```
servicenginxstart
```
-重启
到nginx安装目录的sbin下“nginx/sbin”
使用命令
```
./nginx-sreload
```
或者使用命令
```
servicenginxrestart
```
-关闭
到nginx安装目录的sbin下“nginx/sbin”
使用命令
```
./nginx-sstop
```
或者使用命令
```
servicenginxstop
```
####9.nginx反向均衡策略的配置的一些例子
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的上游服务器,如果上游服务器down掉,能自动剔除。
```
upstreambackserver{
server192.168.0.14;
server192.168.0.15;
}
```
2、指定权重
指定轮询几率,weight和访问比率成正比,用于上游服务器性能不均的情况。
```
upstreambackserver{
server192.168.0.14weight=10;
server192.168.0.15weight=10;
}
```
3、IP绑定ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个上游服务器,可以解决session的问题。
```
upstreambackserver{
ip_hash;
server192.168.0.14:88;
server192.168.0.15:80;
}
```
4、fair(第三方)
按上游服务器的响应时间来分配请求,响应时间短的优先分配。
```
upstreambackserver{
serverserver1;
serverserver2;
fair;
}
```
5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个上游服务器,上游服务器为缓存时比较有效。
```
upstreambackserver{
serversquid1:3128;
serversquid2:3128;
hash$request_uri;
hash_methodcrc32;
}
```
####10.关于session共享问题
session共享问题,就是指在两次访问网站的时候,两次请求被分到了不同的服务器导致session不可用
#####解决办法
-通过ip_hash策略来完成,这样做的话每个ip发起的请求会被发到相同的服务器,从而解决session共享问
题
-通过缓存工具如redis存储session,然后从redis中找session来解决session共享问题(这个有待下次补充)