澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

Nginx的Web缓存服务与新浪网的开源NCACHE模块,如何

Nginx 的详尽介绍:请点这里
Nginx 的下载地址:请点这里

        #charset koi8-r;

Nginx的Web缓存服务与今日头条网的开源NCACHE模块

什么是web缓存
Web缓存位于内容源web服务器和客户端之间,当用户访谈一个U中华VL时,web缓存服务器回去后端web源服务器取回要出口的内容,然后,当下一个呼吁到来时,假诺访谈的是均等的UCRUISERL,web缓存服务器间接出口内容给客户端,并非像源服务器再度发送诉求。web缓存减弱了故事情节源web服务器、数据库的负载,缓慢解决了网络延迟,进步了用户的响应速度,巩固了用户体验。
最著名的还要数Squid Cache,其珍视在Unix一类系统运作。

Nginx的Web缓存服务
Nginx从0.7.48后协助类似于Squid的缓存模块。这一个缓存是把UGTC4LussoL及相关组合当做key,用md5算法对key进行希哈,获得硬盘上相应的希哈路线,进而将缓存内容保留在该目录内。帮衬放肆UPAJEROL链接。同时也扶助404/3033.33那样的非200状态码。
Nginx的Web缓存服务重大用来proxy_cache相关指令集和fastcgi相关指令集构成,前面二个用于反向代理时,对后端内容源举办缓存,前者首要用来对法斯特CDI的动态程序开始展览缓存。两个功用为主均等。

proxy_cache相关指令集
1、proxy_cache指令
语法:proxy_cache zone_name;
默认值:none
动用境况:http,server,location
该指令用于安装非常缓存区将被应用,zone_name的值为proxy_cache_path指令创立的缓存区明称。
2、proxy_cache_path指令
语法:proxy_cache_path path[levels=number] keys_zone=zone_name:zone_size[incative=time] [max_size=size];
默认值:none
行使条件:HTTP
eg:
proxy_cache_path /data0/proxy_cache_dir levels=1:2 keys_zone=cache_one: 500m inactive=1d max_size=30g;
注意该指令只好在http标签内配置,levels钦赐该缓存有两层hash目录,第一层为1个字母,第二层为2个假名,保存文件名类似于/data0/proxy_cache_dir/c/29/fdg35415fg35f4gsdf2g1535gh465h;key_zone参数用来为缓存区起名,500m钦定内部存款和储蓄器空间大小为500MB;inactive的1d是即使缓存数据在1天之内未有被访谈,将被剔除;max_size的30g是指硬盘的缓存空间为30GB。
3proxy_cache_methods指令
语法:proxy_cache_methods [GET HEAD POST];
默认值:proxy_cache_methods GET HEAD;
采取条件:http,server,location
该指令用于安装用于缓存那叁个HTTP方法,暗中认可缓存 HTTP GET/HEAD 方法,不缓存HTTP POST方法。
4proxy_cache_min_uses指令
语法:proxy_cache_min_uses the_number;
默认值:proxy_cache_min_uses 1;
行使条件:http,server,location
该指令设置缓存最小的使用次数,暗中认可值是1.
5、proxy_cache_valid指令
语法:proxy_cache_valid reply_code [reply_code…]time;
默认值:none
利用条件:http,server,location
该指令用于对两样的回到状态码的U纳瓦拉L设置区别的缓存时间,比方:
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
如若不钦点状态呢,直接指定时期,则唯有200、301、302情景的U奔驰G级L缓存5分钟。
6、proxy_cache_key指令
语法:proxy_cache_key line;
默认值:none
行使条件:http,server,location
该指令用来安装web缓存的key值,Nginx依据key值md5希哈存款和储蓄缓存。一般依照‘$host(域名)、$request_uri(必要路线)’等构成变量合成proxy_cache_key.例如:proxy_cache_key "$host:$server_port$uri$is_args$args";

proxy_cache完整示例
su
yum -y install pcre//安装pcre
wget
tar zxvf ngx_cache_purge-2.3.tar.gz//获取nginx_cache_purge
cd nginx-1.6.3//步向你的nginx文件目录(nginx安装请参见前面的博客)
 ./configure --user=www --group=www --addmodule=../ngx_cache_purge-2.3 --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
配置nginx.conf
cd /usr/local/webserver/nginx/conf

#user  www www;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    use epoll;
    worker_connections  1024;
}

http {
    include      mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    #charset utf-8;

    server_name_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;

    sendfile        on;
    #tcp_nopush    on;

    keepalive_timeout  30;

    tcp_nodely  on;

    proxy_temp_path /data0/proxy_temp_path;

    proxy_temp_path /data0/proxy_temp_path levels=1:2 key_zone=cache_one:200m inactive=1d max_size=30g;
    upstream my_sever_pool{
        server 192.168.1.2:80 weight=1 max_fails=2 fail_timeout=30s;
        server 192.168.1.3:80 weight=1 max_fails=2 fail_timeout=30s;
        server 192.168.1.4:80 weight=1 max_fails=2 fail_timeout=30s;

    }

 

    #gzip  on;

    server {
        listen      80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_set_header Host $host;
        proxy_set_header X-Forward-For $remote_addr;
        proxy_pass ;
      # root  html;
            #index  index.html index.htm;
        }
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|js|css)$
    {
        #使用web缓存区cache_one
        proxy_cache cache_one;

        #对不一致状态码设置分歧缓存时间
        proxy_cache_valid 200 304 12h;
        proxy_cache_valid 301 302 1m;
        proxy_cache_valid any im;
        #设置web缓存的key值,nginx依据key值md5希哈存款和储蓄缓存,这里依据“域名/UENCOREL 参数”组合成key。
        proxy_cache_key $host$uri$is_args$args;
        #反向代理,访谈后端内容源服务器
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http:my_server_pool;
    }
    #用于破除缓存,假如贰个U传祺L为
    location ~ /purge(/.*)
    {
        #设定只允许钦点的IP或IP段技能够排除UENCOREL缓存。
        allow      127.0.0.1
        allow      192.168.0.0/16;
        deny        all;
        proxy_cache_purge cache_one $shot$1$is-args$args;
    }
    access_log 0ff

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page  500 502 503 504  /50x.html;
        location = /50x.html {
            root  html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ .php$ {
        #    proxy_pass  ;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ .php$ {
        #    root          html;
        #    fastcgi_pass  127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /.ht {
        #    deny  all;
        #}
    }

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen      8000;
    #    listen      somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root  html;
    #        index  index.html index.htm;
    #    }
    #}

    # HTTPS server
    #
    #server {
    #    listen      443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root  html;
    #        index  index.html index.htm;
    #    }
    #}

}

更加多Nginx相关课程见以下内容:

CentOS 6.2实战计划Nginx MySQL PHP

使用Nginx搭建WEB服务器

搭建基于Linux6.3 Nginx1.2 PHP5 MySQL5.5的Web服务器全经过

CentOS 6.3下Nginx质量调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配置Nginx Pcre php-fpm

Nginx安装配置使用详细笔记

Nginx日志过滤 使用ngx_log_if不记录特定日志

Nginx 的事无巨细介绍:请点这里
Nginx 的下载地址:请点这里

本文长久更新链接地址:

什么是web缓存 Web缓存位于内容源web服务器和客户端之间,当用户访谈四个UKoleosL时,web缓存服务器...

上述配置里cache相关,具体表明如下:

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

keys_zone=mycache:1024m:内核中国建工总集团立的用于缓存数据原数据的共享内部存款和储蓄器空间;这里贮存慢存数据的原数据;查找缓存的时候,先从这些基础空间中找到,缓存数据的原数据,然后再到对应目录中搜寻缓存;小编这里定义的zone名为‘mycache’;
max_size=2048m:设置缓存空间的最大值;
inactive=1d: 设置缓存的多长史存时间,这里自定义1天内未有被访谈过就删除;
proxy_cache:在location里安装内部存款和储蓄器缓存源数据空间名字,对应大家前边的设定'mycache';
proxy_cache_valid: 可以为区别的响应状态码设置分歧的缓存时间,譬如此处200状态码,设置为1天;
proxy_cache_use_stale:钦命后端服务器出现情状时,nginx能够行使的逾期缓存
其余能够设置proxy_cache_key:用来钦命缓存所运用的key的组合字符串,然后用md5拓展加密。如不内定暗中同意使用:$scheme$proxy_host$request_uri;

#pid        logs/nginx.pid;

图片 1

CentOS 6.4安装配置Nginx Pcre php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

简单的讲的话能够分两步:
1.概念缓存存款和储蓄目录并钦赐分享内存空间
2.在location里钦点分享内部存款和储蓄器空间

    tcp_nodely  on;

下边关于Nginx的小说您也只怕喜欢,无妨参照他事他说加以考察下:

CentOS 6.2实战陈设Nginx MySQL PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

proxy_cache_path:定义缓存目录,必要手动创设此目录;缓存数据寄存至此。
/data/nginx/cache2:自定义的缓存目录,缓存中的文件名称是使用MD5的结果;另外,首先是将缓存响应写入有的时候文件,然后文件才被重命名;
levels=1:2:定义缓存的档案的次序结构品级;这里代表缓存目录的第顶级目录是1个字符,第二级目录是2个字符;结构类似:

http {
    include      mime.types;
    default_type  application/octet-stream;

CentOS 7下Nginx服务器的安装配置 
CentOS上安装Nginx服务器完成虚构主机和域名重定向 
CentOS 6.8 安装LNMP环境(Linux Nginx MySQL PHP) 
Linux下安装PHP遭受并配备Nginx支持php-fpm模块 
Nginx服务的SSL认证和htpasswd认证 
Ubuntu 16.04上启用加密安全的Nginx Web服务器 
Linux中装置配置Nginx及参数详解 
Linux下源码安装Nginx(Ubuntu和CentOS通用) 
Nginx完成端口转发
接纳Nginx Docker配置HTTPS负载均衡
CentOS 7.2下Nginx PHP MySQL Memcache缓存服务器安装配备 

CentOS 6.3下Nginx质量调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

现实落到实处如下:

proxy_cache完整示例
su
yum -y install pcre//安装pcre
wget
tar zxvf ngx_cache_purge-2.3.tar.gz//获取nginx_cache_purge
cd nginx-1.6.3//步向你的nginx文件目录(nginx安装请参见前面包车型客车博客)
 ./configure --user=www --group=www --addmodule=../ngx_cache_purge-2.3 --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
配置nginx.conf
cd /usr/local/webserver/nginx/conf

门到户说,Nginx是一个高质量的web服务器,特别在高并发和管理静态页面包车型地铁时候有后天的优势;不小学一年级部分得益于缓存的展开,那么如何展开nginx的缓存呢。

什么是web缓存
Web缓存位于内容源web服务器和客户端之间,当用户访谈贰个U讴歌RDXL时,web缓存服务器回去后端web源服务器取回要出口的剧情,然后,当下贰个伸手到来时,假如访谈的是同样的U凯雷德L,web缓存服务器间接出口内容给客户端,并不是像源服务器再度发送央求。web缓存收缩了剧情源web服务器、数据库的负载,缓慢解决了互连网延迟,进步了用户的响应速度,巩固了用户体验。
最有名的还要数Squid Cache,其主要在Unix一类系统运行。

Linux公社的RSS地址:

events {
    use epoll;
    worker_connections  1024;
}

图片 2

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /.ht {
        #    deny  all;
        #}
    }

本文恒久更新链接地址

    #charset utf-8;

user www;
worker_processes auto;
events {
worker_connections 4096;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
gzip on;
keepalive_timeout 65;
# 以下是缓存相关安顿
proxy_cache_path /data/nginx/cache2 levels=1:2 keys_zone=mycache:1024m max_size=2048m inactive=1d ;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /apis/test/img {
proxy_pass ;
# 以下三行是缓存相关配置
proxy_cache mycache;
proxy_cache_valid 200 1d;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_503 http_404;
}
error_page 500 502 503 504 /50x.html;
}

    #access_log  logs/access.log  main;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

Nginx日志过滤 使用ngx_log_if不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

 

本文由澳门皇冠金沙网站发布于网络操作,转载请注明出处:Nginx的Web缓存服务与新浪网的开源NCACHE模块,如何

相关阅读