一 实验环境
Nginx 版本:nginx-1.8.1
Nginx代理服务器WAN:192.168.1.5 LAN:172.16.2.1
Web1:172.16.2.2
Web2:172.16.2.3
1. 配置好IP、DNS 、网关,确保使用远程连接工具能够连接服务器
2. 配置防火墙,iptables –F 清理防火墙规则或者关闭iptables
3. 关闭SELINUX, setenforce 0 #立即生效(实际是临时生效)
二 Nginx Proxy 反向代理
Proxy 模块:代理上级服务器
Upstream 模块:自定义一个服务器组, 可以结合代理模块从而提供负载均衡的功能
1.Upstream的常用参数介绍
ip_hash: 类似于lvs的sh算法,将同一IP的请求定向至同一主机
weight: 默认为1.weight越大,负载的权重就越大
max_fails:upstream允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误.
fail_timeout:多久超时算失败
down:将某个主机标记下线
backup:将某个主机设置为备份模式, 只要不是所有主机都宕机, 它就不会上线
2.在Nginx 代理服务器上配置,编辑配置文件/etc/nginx/nginx.conf
在主配置文件的http段使用upstream定义一个集群, testserver是集群的名称。
http段添加
upstream testserver {
server 172.16.2.2 weight=1;
server 172.16.2.3 weight=2;
}
Server 段添加
location / {
proxy_pass http://testserver;
}
service nginx reload
提示:后端是LNMP平台的话可以直接响应动态请求,例如部署WordPress……
三 Nginx_Cache 缓存模块
缓存能够为我们减轻服务器的负担和加快响应速度, Nginx_proxy模块能够支持缓存功能, 我们这里使用我们这里缓存静态资源
1.在Linux上安装ab来压力测试
yum -y install httpd-tools
ab -n 1000 -c 200 http://192.168.1.5/index.html
2.配置缓存服务器
vi /etc/nginx/nginx.conf
http段添加:
proxy_cache_path /cache levels=1:1 keys_zone=testcache:64m; #内存缓存空间大小64M
#Location段配置
proxy_cache testcache; #使用testcache进行缓存
proxy_cache_valid 200 1d; #响应码为200的缓存1天
proxy_cache_valid 500 501 502 503 1m; #响应码为500…的缓存1分钟
proxy_cache_use_stale error ; #如果请求源主机的时候出问题, 仍然使用缓存
service nginx reload #重新载入配置
mkdir /cache #创建缓存存放文件夹
chown nginx:nginx /cache #修改属主和属组为nginx
3.测试查看缓存效果
从测试结果可以看出缓存对于静态资源响应的提升是十分显著的.
原创文章,作者:liangkai,如若转载,请注明出处:http://www.178linux.com/61418