首页 > 其他 > 详细

Nginx缓存的配置调优,Tengine安装和配置。

时间:2014-07-17 10:47:16      阅读:583      评论:0      收藏:0      [点我收藏+]

反向代理缓存:

    nginx做为反向代理时,能够将来自upstream的响应缓存至本地,并在后续的客户端请求同样内容时直接从本地构造响应报文。

可以在http全局配置内定义缓存。

http{

proxy_cache_path /tmp/nginx/cache levels=1:2 keys_zone=cone:10m max_size=1g;

}

在Server里调用。


server {

        listen       80;

        server_name  localhost;

        location / {

        proxy_pass http://192.168.18.121;

        proxy_cache cone;

        proxy_cache_valid 202 1h;

        proxy_cache_valid 302 10m;

        proxy_cache_valid any 1m;

        }

}
inactive:非活动缓存项从缓存中剔除之前的最大缓存时长;

配置成功了,那如何验证缓存有没有命中?

可以把后端服务器添加到upstream里面,引入一个upstream_cache_status变量其作用是检查缓存状态,用addheader添加到响应首部里面。

upstream模块常用指令:

ip_hash:基于客户端IP地址完成请求的分发,它可以保证来自于同一个客户端的请求始终被转发至同一个upstream服务器;

keepalive:后端服务器到upstream服务器的持久连接。

least_conn:最少连接调度算法;

server:定义一个upstream服务器的地址,还可包括一系列可选参数,如:

weight:权重;

max_fails:最大失败连接次数,失败连接的超时时长由fail_timeout指定;

fail_timeout:等待请求的目标服务器发送响应的时长;

backup:用于fallback的目的,所有服务均故障时才启动此服务器;

down:手动标记其不再处理任何请求;

example:

    

upstream backend {

 ip_hash;

 server www.magedu.com weight=5;

 server www2.magedu.com:8080       max_fails=3  fail_timeout=30s;

}

Fastcgi缓存配置:

定义缓存

http{

fastcgi_cache_path /tmp/nginx/fastcgi levels=1:2 keys_zone=fcgi:20m max_size=1g;

}

设定主页和路径

server {

        listen       80;

        server_name  localhost;

        #charset koi8-r;

        location / {

                root /var/www/html;

                index index.php;

}

}

配置缓存

location ~ \.php$ {

            root           /var/www/html;

            fastcgi_pass   192.168.18.121:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

            include        fastcgi_params;

            fastcgi_cache fcgi;

            fastcgi_cache_valid 200 10m;

            fastcgi_cache_valid 301 302 2m;

            fastcgi_cache_valid any 1m;

        }

我们先把缓存给注释掉,然后reload,用ab命令测试下速率。

bubuko.com,布布扣

现在我们把缓存功能打开,然后reload再测试,看效果大大不同吧。


bubuko.com,布布扣

平滑升级:

先用新版本的Nginx程序把老版本的替换掉,然后给master进程发一个信号,让主进程重启一下。

    kill -SIGUSER2 <master_process_id>

日志滚动:

    -s reopen: kill -SIGUSR1 <master_process_id>

    1、mv /var/log/nginx/access.log /var/log/nginx/access.bak

    2、kill -s SIGUSR1 20980

信号发送完后,应该将源日志文件改名,或者移动到别的地方,系统会自动建立一个新日志文件。

重读配置文件:

    -s reload:kill -SIGHUP <master_process_id>





本文出自 “坏人的博客” 博客,转载请与作者联系!

Nginx缓存的配置调优,Tengine安装和配置。,布布扣,bubuko.com

Nginx缓存的配置调优,Tengine安装和配置。

原文:http://tchuairen.blog.51cto.com/3848118/1439263

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!