Nginx代理缓存加速服务器

Nginx缓存概述

提供与Squid类似的缓存,把URL以及相关信息当成key,用MD5编码哈希后,把数据文件保存在硬盘上,并且只能为指定的URL或者状态码设置过期时间,并不支持类似 squid的purge命令来手动清除指定缓存页面,但是可以通过第三方的ngx_cache_purge来清除指定的URL缓存
Nginx的缓存加速功能是由proxy_cache(用于反向代理和静态缓存)和fastcgi_cache(PHP动态缓存)两个功能模块完成

1.proxy_cache原理

2.Nginx缓存特点

缓存稳定,运行速度与Squid相差无几(因为都使用硬盘缓存)
对多核CPU的利用率比其他的开源软件好
支持高并发请求数,能同时承受更多的访问请求

3.Nginx缓存、Varnish、Squid对比

Squid:应用较早,支持传统、透明、反向等功能的一款应用软件,设置较复杂,一般配合CDN
Varnish:新兴软件,设计简单,使用内存缓存数据(快)
Nginx缓存:需通过调用模块实现缓存功能,基于硬盘缓存数据

案例:Nginx缓存加速

1、环境准备(nginx)

1)配置网卡IP vim /etc/sysconfig/network-scripts/ifcfg-eth0

2)关闭防火墙并设置为开机自动禁用
/etc/init.d/iptables stop && chkconfig --level 35 iptables off

3)临时允许所有selinux操作 setenforce 0

2、安装nginx

1)安装依赖包 yum -y install pcre pcre-devel
2)解压nginx模块(支持nginx缓存功能)ngx_cache_purge-2.0.tar.gz到/usr/src/目录下

3)解压nginx到/usr/src/目录 tar zxvf nginx-1.6.0.tar.gz -C /usr/src/

4)新建nginx运行用户 useradd -M -s /sbin/nologin nginx

5)进入nginx解压目录并编译安装nginx

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
--with-http_stub_status_module --with-pcre
--add-module=/usr/src/ngx_cache_purge-2.0/

选项注释:
--prefix=/usr/local/nginx:指定Nginx安装目录为/usr/local/nginx
--user=nginx:指定Nginx运行用户为nginx
--group=nginx:指定Nginx运行组为nginx
--with-http_stub_status_module:开启状态统计(一个简单的页面,显示访问量等)
--with-pcre:启用pcre库支持
--add-module=/usr/src/ngx_cache_purge-2.0/:指定需额外加载模块的目录位置

6)设置nginx的环境变量
echo "PATH=$PATH:/usr/local/nginx/sbin">>/etc/profile

//立即生效该PATH变量 source /etc/profile

3、配置Nginx

1)编辑nginx配置文件 vim /usr/local/nginx/conf/nginx.conf




2)创建nginx临时缓存目录 mkdir /var/cache/nginx
3)检测Nginx配置文件是否有误 nginx -t

注:在运行“nginx -t”命令后,当文件确认无误后,会自动在指定目录下自动新建临时、缓存目录

4)设置系统句柄数,注意单次生效 ulimit -SHn 65535

5)运行nginx服务 nginx
6)监听80端口 netstat -utpln | grep 80

4、配置Web服务器

1)配置网卡IP vim /etc/sysconfig/network-scripts/ifcfg-eth0

2)关闭防火墙并设置为开机自动禁用
/etc/init.d/iptables stop && chkconfig --level 35 iptables off

3)临时允许所有selinux操作 setenforce 0
4)安装apache服务 yum -y install httpd
5)Web服务器编写测试页面
echo "This is Web1">/var/www/html/index.html

6)启动httpd服务并设置为开机自启
/etc/init.d/httpd start && chkconfig --level 35 httpd on

5、缓存测试

1) IE --> http://192.168.1.10(Nginx服务器IP

2)递归查看目录下内容,可以看见,刚才访问的页面已经缓存下来,并存储在../c/43/目录下(Nginx服务器) ls -R /var/cache/nginx/proxy_cache/

3)清除缓存IE --> http://192.168.1.10/purge/(手动清除/页面缓存

注:测试访问时,使用“http://192.168.1.10”访问,那么在存储缓存Key时,是使用URL记录的,也是是说缓存的是“/”的缓存,那么清除缓存时应使用“http://192.168.1.10/purge/”或“http://192.168.1.10/purge”,不可使用“http://192.168.1.10/purge/index.html”清除
ls -R /var/cache/nginx/proxy_cache/
//(Nginx服务器)再次验证查看缓存目录,之前缓存的页面文件被清除

原文地址:http://blog.51cto.com/13043516/2091255

时间: 2024-10-06 01:54:43

Nginx代理缓存加速服务器的相关文章

Nginx代理缓存功能

Nginx代理缓存功能      Nginx缓存主要是用于减轻后端服务器的负载,提高网站并发量,提升用户体验度. 注意:Nginx反向代理的缓存功能是由ngx_http_proxy_module提供,在使用缓存功能时务必要nginx支持该模块.可能有些选项的不支持Nginx的版本,具体看官方文档: http://nginx.org/en/docs/http/ngx_http_proxy_module.html 后端服务器可能无法承受负载为了更好的提升用户体验环境介绍 服务器IP 服务器角色 19

网站集群架构实战(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken

前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高性能-技术流ken>下面是项目的一些简单介绍. WEB集群项目简介 随着网站访问量的激增,势必会导致网站的负载增加,现需求搭载一套高性能,高负载,高可用的网站集群架构以保障网站的持续.高效.安全.稳定的运行. 针对以上需求,我们采用了如下的技术: 使用负载均衡技术来实现网站请求的调度分发,减小后端服务器

21.Nginx代理缓存

1.环境准备 操作系统 应用服务 外网地址 内网地址 CentOS7.6 LB01 10.0.0.5 172.16.1.5 CentOS7.6 Web01 10.0.0.7 172.16.1.7 2.web01操作 2.1建立相关目录 [[email protected] ~]# mkdir -p /soft/code{1..3} 2.2建立相关html文件 [[email protected] ~]# for i in {1..3};do echo Code1-Url$i > /soft/co

squid 3.5 配置正向代理缓存加速

配置文件如下 # 监听127.0.0.1:8080 http_port 127.0.0.1:8080 accel allow-direct acl manager proto cache_object http_access allow manager # 对日志文件和pid文件位置进行设置  # cache_store_log none  # cache_access_log /var/log/squid/access.log  # cache_log /var/log/squid/cache

nginx代理内网服务器文件夹

外网主机配置: #user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 100; server { listen 7070; server_name localhost; location ^~ /hyjgpt { pro

Nginx构建反向代理缓存服务器

防伪码:曾经沧海难为水,除却巫山不是云. 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上,然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端:  反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提

nginx反向代理缓存服务器的构建

Nginx反向代理缓存服务器构建 一:代理服务可简单的分为正向代理和反向代理: 正向代理:用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器,并将Web服务器的Response回传给客户端: 反向代理:与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就

Nginx反向代理缓存服务器搭建

Nginx反向代理 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器,并将Web服务器的Response回传给客户端: 反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就是反向代理.

nginx反向代理缓存服务器构建

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器,并将Web服务器的Response回传给客户端: 反向代理: 与正向代理相反,如果局域网