Nginx 代理和缓存

blob.png

一 实验环境

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.  配置好IPDNS 、网关,确保使用远程连接工具能够连接服务器

2.       配置防火墙,iptables –F 清理防火墙规则或者关闭iptables

3.       关闭SELINUX, setenforce 0  #立即生效(实际是临时生效)

二 Nginx Proxy 反向代理

Proxy 模块:代理上级服务器

Upstream 模块:自定义一个服务器组, 可以结合代理模块从而提供负载均衡的功能

 

1.Upstream的常用参数介绍

ip_hash 类似于lvssh算法,将同一IP的请求定向至同一主机

weight: 默认为1.weight越大,负载的权重就越大

max_failsupstream允许请求失败的次数默认为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

         blob.png

 

       blob.png

提示:后端是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         

blob.png

 

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.测试查看缓存效果

blob.png

 

从测试结果可以看出缓存对于静态资源响应的提升是十分显著的.

原创文章,作者:liangkai,如若转载,请注明出处:http://www.178linux.com/61418

(1)
liangkailiangkai
上一篇 2016-12-05 00:19
下一篇 2016-12-05 09:33

相关推荐

  • 磁盘分区管理之磁盘基础知识1

    1、磁盘基础知识 1.1 磁头 磁头是利用气流漂浮在盘片上,并没有接触到盘片,因而可以在各轨间高速来回移动,但如果磁头距离盘片太高,读取的信号就会太弱;太低又会磨到盘片表面,所以盘片表面必须相当光滑平整,任何异物和尘埃均会使得磁头摩擦到表面而造成数据永久性损坏。 硬盘读写磁头为了能在磁盘表面高速来回移动读取数据,则需漂浮在磁盘表面上,但是不能接触,接触就会造…

    Linux干货 2016-09-07
  • 解决CentOS SSH 连接慢

    1、关闭DNS反向解析在linux中,默认就是开启了SSH的反向DNS解析,这个会消耗大量时间,因此需要关闭。配置文件路径 vim /etc/ssh/sshd_configUseDNS=no 在配置文件中,虽然UseDNS yes是被注释的,但默认开关就是yes 2、关闭SERVER上的GSS认证在authentication gssapi-with-mic…

    Linux干货 2018-01-10
  • 也许你根本不会用百度搜索

    搜索引擎可以帮助使用者在Internet上找到特定的信息,但它们同时也会返回大量无关的信息。但是如果多使用一些技巧,你将发现搜索引擎会花尽可能少的时间找到你需要的确切信息。 1.简单查询 这个就是最简单便捷的使用方式,其实也是我们大多数人平时使用百度或者其他搜索引擎的方式。比如你想查培训学校,那么你的第一反应肯定就是在百度里输入【挖掘机】【挖掘机学校】【蓝翔…

    2015-03-02
  • Ansible(From Wikipedia)

           Ansible 是一个免费的用于配置和管理计算机的的软件平台。它集成了软件部署,ad hoc任务执行,和管理配置的功能。它依赖Python2.4之后的版本和通过SSH或者PowerShell管理节点。模块工作在JSON格式,输出信息可以被任何编程语言再次编写。系统管理员可以使用YAML…

    Linux干货 2015-11-18
  • bash脚本循环语句用法练习

    bash脚本循环语句用法练习 1、使用循环语句写一个脚本,实现打印出来国际象棋的棋盘 #方法1:使用until循环语句实现 [root@liang7 bin]# cat chess-until.sh  #!/bin/bash #Author:liang #Version:1.0 #Description:Print&n…

    Linux干货 2016-08-24
  • 26期全程班-第五周博客作业

      1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; # grep “^[[:space:]]\+” /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; # grep “^…

    Linux干货 2017-03-09