基于Nginx实现负载均衡的部署
Nginx(enginex)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
nginx官方网站:http://nginx.org/
nginx plus收费软件,企业级(功能强大)
1.下载安装包并打开
2.修改配置文件
不显示版本号
3.关掉debug功能
4.安装nginx
5.创建软链接
创建完成之后就可以直接调用
6.nginx的相关命令
命令 | 含义 |
---|---|
nginx | 开启nginx服务 |
nginx -t | 检查配置文件的语法 |
nginx -s stop | 关闭nginx服务 |
nginx -s reload | 重新加载nginx服务 |
测试:在浏览器访问ngxin
编辑test.html页面
测试:
1.修改worker_processes的值
Nginx 进程数设置,一般来说,拥有几个逻辑CPU,就设置为几个 为宜
本机只有一个cpu我设置为1,也可调用auto函数,自动匹配
2.worker_cpu_affinity的说明
默认是没有开启的,0001 0010 0100 1000
分别代表第1、2、3、4个逻辑CPU,所以我们可以设置0010 0100 1000来将3个进程分别绑定到第2、3、4个逻辑CPU上:
本次实验不加入此项
3.修改最大连接数
在操作系统中进行修改:
4.添加nginx用户并指定家目录
5.修改用户和用户组
6.设置轮叫upstream
在末尾加入:
当访问
www.westos.org的80端口时把页面定位到
检查语法并重新加载:
在客户端添加本地解析:
server2和server3的httpd服务开启:
测试:在客户端打开浏览器访问www.westos.org
Nginx中的ip_hash技术能够将某个ip 的请求定向到同一台后端web机器中,这样一来这个ip
下的客户端和某个后端
web机器就能建立起稳固的链接
ip_hash机制能够让某一客户机在相当长的一段时间内只访问固定的后端的某台真实的web服务器,这样会话就会得以保持,在网站页面进行login的时候就不会在后面的web服务器之间跳来跳去了,也不会出现登录一次的网站又提醒重新登录的情况.
1.配置nginx服务
2.客户端检测
1.配置nginx文件
2.测试:
当server2和server3的httpd服务关闭
1.下载1.10版本的nginx和sticky模块
关闭原来的nginx服务:
解包:
2.安装nginx1.10版本
指定位置为/opt/nginx,加入sticky模块
3.编写nginx配置文件
把之前写好的文件先复制过来
然后再进一步编写
4.开启服务
因为之前版本的nginx 链到了/sbin,所以采用绝对路径的方法来调用1.10版的nginx
测试:
在浏览器访问的时候会一直访问同一个服务器
按F12可以看到缓存信息:
在shell中访问则会轮叫