随着NginxWeb服务器被越来越多的sa所普及,Nginx的缓存功能已经具备了加速Web缓存和清除Squid所拥有的指定URL缓存的功能。
在性能上,Nginx比Squid更好的利用了多核CPU。此外,Nginx在反向代理、负载均衡、健康检查、后端服务器故障转移、重写和易用性方面比Squid强大得多。
这使得Nginx可以同时用作负载均衡服务器和Web缓存服务器。
一、Nginx(Ngx_cache)安装:
首先下载Nginx缓存模块的对应版本,Nginx_cache_purge。这里下载nginx-1.4,不同版本对应不同版本的nginx。安装时请注意。
ulimit-SHn65535
yum安装pcrepcre-devel-y
wgethttp://nginx.org/download/nginx-1.0.11.tar.gz
http://labs.frickle.com/files/ngx_cache_purge-1.4.tar.gz
tarzxvfngx_cache_purge-1.4.tar.gz
塔尔兹xvfnginx-1.0.11.tar.gz
useraddwww
cdnginx-1.0.11/
。/configure-user=www-group=www-add-module=../ngx_cache_purge-1.4-前缀=/usr/local/nginx-with-http_stub_status_module-with-http_SSL_module
制造和销售。&进行安装
二、Nginx缓存配置:
用户wwwwww
工作者_进程8;
error_log/data/logs/nginx/error.logcrit;
PID/usr/local/nginx/nginx.PID;
worker_rlimit_nofile65535
事件
{
使用epoll
工人_连接65535;
}
超文本传送协议(HyperTextTransportProtocol的缩写)
{
包括mime.types
default_type应用程序/八位字节流;
字符集utf-8;
服务器名称哈希桶大小128;
client_header_buffer_size32k
large_client_header_buffers432k;
client_max_body_size300m
在上发送文件;
tcp_nopushon
keepalive_timeout60
tcp_nodelay打开;
client_body_buffer_size512k
代理_连接_超时5;
proxy_read_timeout60
代理_发送_超时5;
proxy_buffer_size16k
proxy_buffers464k
proxy_busy_buffers_size128k
代理_临时_文件_写入_大小128k
gzip打开;
gzip_min_length1k
gzip_buffers416k
gzip_http_version1.1
gzip_comp_level2;
gzip_typestext/plainapplication/x-JavaScripttext/CSSapplication/XML;
gzip_varyon
代理临时路径/数据/代理临时目录;
proxy_cache_path/data/proxy_cache_dirlevels=1:2keys_zone=cache_one:200minactive=1dmax_size=30g;
上游后端服务器{
服务器127.0.0.1:8800weight=1max_fails=2fail_timeout=30s;
服务器127.0.0.1:8801weight=1max_fails=2fail_timeout=30s;
}
计算机网络服务器
{
听80;
server_name本地主机;
索引index.htmlindex.htm;
root/data/webapps/www;
位置/
{
proxy_next_upstreamhttp_502http_504错误超时invalid_header
proxy_cachecache_one
proxy_cache_valid20030412h
proxy_cache_key$host$uri$is_args$args;
proxy_set_headerHost$host
proxy_set_headerX-Forwarded-For$remote_addr;
proxy_passhttp://后端服务器;
过期1d;
}
位置~/purge(/。*)
{
auth_basic“TDT中心缓存中心”;
auth_basic_user_file/tmp/htpasswd;
允许127.0.0.1;
允许192.168.1.0/24;
否定一切;
proxy_cache_purgecache_one$host$1$is_args$args;
}
位置~。*\.(php|jsp|cgi)?$
{
proxy_set_headerHost$host
proxy_set_headerX-Forwarded-For$remote_addr;
proxy_passhttp://后端服务器;
}
}
}
三。Nginx缓存测试:
#启动Nginx服务,/usr/local/nginx/sbin/nginx
#访问我们的网站,然后你会看到/data/proxy_cache_dir目录下的cache子目录(由数字和字母组成)。
如下图:
四。如何清除缓存:
有两种方法可以清除缓存。第一种方式是通过nginx.conf配置文件中定义的/purge虚拟目录直接清除。第二种方式是通过shell脚本批量清除:
附加Shell脚本空缓存的内容:
#!/bin/sh
#自动清理Nginx缓存外壳脚本
#2013-06-12
#定义路径
缓存目录=/数据/www/代理缓存目录/
文件="$*"
#判断何时输入脚本,如果没有,则退出,判断脚本是否有输入,如果没有,则退出。
如果
["$#"-eq"0"];然后
echo“请插入干净的Nginx缓存文件,例如:$0index.html索引.js”
睡眠2和。&出口
船方不负担装货费用
echo"FILE:$FILE要清理nginx缓存,请稍候....."
#wrap处理对于输入文件,对于grep查找,对输入文件进行包装,有助于grep查找匹配的相关内容。
forIin'echo$FILE|sed's//\n/g'`中
做
grep-ra$I${CACHE_DIR}|awk-F':''{print$1}'>;/tmp/cache_list.txt
对于“cat/tmp/cache_list.txt”中的j
做
rm-rf$j
echo"$i$j删除成功!"
完成的
完成的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)