Nginx高可用、Redis Session共享笔记
参考资料:
1 | 视频资料: |
1. Nginx功能介绍
web服务器
反响代理服务器
邮件服务器
2. Nginx负载均衡策略
轮训(默认)
1
2
3
4upstream www.test.com{
server 192.168.1.101;
server 192.168.1.102;
}weight权重
1
2
3
4
5#根据权重比例来分发请求,权重越高分配的比例越大,一般是根据服务器硬件配置来确定权重
upstream www.test.com{
server 192.168.1.101 weight=10;
server 192.168.1.102 weight=5;
}ip_hash
1
2
3
4
5
6#ip_hash策略是根据用户客户端ip的hash值来分配具体服务器,这样每个访问的客户端都会固定访问某一个服务器,这样子就可以解决session丢失的问题,很多网站都采用这种策略来做负载均衡,解决session不同步的问题
upstream www.test.com{
ip_hash;
server 192.168.1.101;
server 192.168.1.102;
}Least_conn最少连接
1
2
3
4
5
6#web请求后被分发到连接数量最少的服务器上
upstream www.test.com{
least_conn;
server 192.168.1.101;
server 192.168.1.102;
}负载均衡备份和宕机
1
2
3
4
5
6
7
8
9
10
11
12#备份backup配置,其他非backup机器挂掉之后,才会请求backup机器
upstream www.test.com{
server 192.168.1.101;
server 192.168.1.102 backup;
}
#宕机down配置
#配置down的服务器不参与负载均衡,一般在维护某台服务器的时候使用
upstream www.test.com{
server 192.168.1.101;
server 192.168.1.102 down;
}
3.Nginx配置说明
1 | user nginx; #配置worker进程运行用户 |
关于日志级别:
1
2
3
4
5
6 >在配置nginx.conf的时候,有一项是指定错误日志的,默认情况下不指定也没有关系,因为nginx很少有错误日志记录,但是为了防止出现问题能够方便排查,我们还是非常有必要记录一下日志
>error_log 级别分为 debug,info,notice,warn,error,crit 默认为crit,该级别在日志名后面定义格式如下:
>error_log /your/path/error.log crit;
>crit记录的日志最少,而debug记录的日志最多,如果你的nginx遇到一些问题,比如502比较频繁出现,但是看默认的error_log并不能看到有意义的信息,那么就可以调整一下错误日志的级别,比如调整到error级别的时候,错误日志记录的内容就会更加丰富
4.Nginx服务器资源常见配置
4.1 动静分离配置
1 | #匹配所有图片,包括ico,还有一些其他字体资源(打开上面的注释,注释掉下面的代理,就会默认到root对应的目录下去找资源文件,找不到就会触发404) |
4.2 301重定向配置
1 | #把主域名,不带www的域名重定向到www开头的服务器 |
4.3 Nginx实现PC和手机域名URL重定向(需要双端有完全相同的url页面)
1 | server { |