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

相关推荐

  • N25-第八周博客作业

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态; 在线的主机使用绿色显示;不在线的主使用红色显示; #!/bin/bash # ping探测主机在线状态 for i in `seq 254`;do if ping -c 1 172.16.0.$i &> /dev/null;th…

    Linux干货 2017-02-23
  • 用户与组

    一、用户与组的概念 1、Linux多用户,多任务的特性    Linux是多用户多任务操作系统,多用户多任务就是可在系统上建多个用户,多个用户可同一时间同一个系统互不影执行的响各自不同的任务。例如linux服务器上有root、www、ftp,四个用户。同一时间内,root用户在查看系统日志,管理维护系统,www用户在修改自己的网页程序,f…

    Linux干货 2016-10-25
  • samba服务实现:linux和windows之间共享

    1,首先在linux(centos6,7)安装好samba程序:     yum -y install samba   samba-common        主配置文件:/etc/samba/smb.conf   ~]# groupadd share_gro…

    2017-03-05
  • 用户和组管理 第三周

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d' ' -f1 | sort -u who:查看当前已经登陆的所有用户的详细信息 cut -d ' ' -f1:以空格为界显示每行第一列 sort -u :在输出行中去除重复行。 2、取出最后登录到当前系…

    Linux干货 2017-02-13
  • M20 – 1- 第二周(1):课堂练习与作业

    课堂练习:  1、字符终端登录时,显示当前登录终端号,主机名和当前时间 [root@centos6 ~]# tty             #显示当前终端号 /dev/pts/0 [root@cent…

    Linux干货 2016-08-02
  • 第五周作业

    1、显示当前系统上root,fedora或user1用户的默认shell。 [root@hostname ~]# grep -E ‘^(root|fedora|user1)’ /etc/passwd | cut -d: -f1,7 root:/bin/bash 2、找出/etc/rc.d/init.d/functions文件中某词后面跟一组小括号的行,形如:…

    Linux干货 2017-08-04