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

相关推荐

  • ftp的配置

    FTP服务器配置 VSFTP主配置文件路径:/etc/vsftpd/vsftpd.conf,重要参数: anonymous_enable=yes/no 是否允许匿名用户访问 anon_upload_enable=yes/no 是否允许匿名用户上传文件 anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录 anon_other…

    2017-10-16
  • linux操作系统rpm软件包管理

    软件包管理 软件包运行环境: API:Application Programming Interface     使用标准:POSIX:     源代码运行步骤:预处理(如处理注释)—>编译成汇编代码—>链接其他库文件 ABI:applicatio…

    2016-08-22
  • N_28正则表达式及vim编辑的一些知识

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ]# who | sort -nu | cut -d” ” -f1 2、取出最后登录到当前系统的用户的相关信息。 ]# who | tail -1 | cut -d” ” -f1 | id 3、取出当前系统上被用户当作其…

    Linux干货 2017-12-16
  • 马哥教育网络班21期-第五周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符…

    Linux干货 2016-08-08
  • 计算机构成与Linux基础知识之一

    简述计算机构成,Linux如何诞生及主流发行版;简单命令介绍;如何获取帮助及Linux目录命名及功用简介绍。

    2018-02-26
  • 博客

       这是我的第一篇博客!   平时学习中,总会遇到或大或小的问题,以及一些新的感悟,在当时能够十分清晰记得,但过一些时日,便发现又忘记了。以前十分明白的东西,又变得有些模糊,甚至完全忘记。因此特别需要记录下来,方便日后的查阅或分享给其他遇到类似问题的朋友。    如果以后忘记的某些知识,这时候,翻开以往博客…

    Linux干货 2017-07-11