proxy_buffering on; #开启代理缓冲功能
proxy_buffer_size 8k; #第一部分响应数据的缓存大小
proxy_buffers 8 128k; #响应数据的缓存个数和容量
proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=one:100m inactive=1d max_size=2G;
#设置缓存目录,levels设置缓存个数,keys_zone定义缓存名字和容量,inactive定义缓存存活时间,max_size定义硬盘的缓存容量
proxy_connect_timeout 60s; #与后端服务器建立TCP连接握手超时时间
upstream servers {
#ip_hash; iphash确保相同客户端ip使用相同的后端服务器,不适用就默认轮询
server 192.168.1.3:80 max_fails=3 fail_timeout=30s weight=2;
server 192.168.1.4:80 max_fails=3 fail_timeout=30s weight=2;
server 192.168.1.5:80 max_fails=3 fail_timeout=30s weight=2;
}
server {
listen 80;
server_name web.test.com;
access_log logs/host.access.log main;
location / {
proxy_pass ;
proxy_cache one;
proxy_set_header X-Forwarded-For $remote_addr;
}
}}
配置完成执行
echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
浏览器访问192.168.1.2 或者122.126.152.183 刷新将分别得到不同的web页面信息
三、Nginx rewrite规则
nginx的rewrite语法格式和apache非常相似,rewrite regex replacement [flag],其中flag可以被设置为last结束当前指令并重新搜索location匹配、break结束当前rewrite指令、redirect临时重定向302、permanent永久重定向301。
rewrite地址重写及return应用的语法解析:
##根据浏览器标识,访问资源重定向到指定文件目录,下面用IE浏览器示例
if ($http_user_agent ~ MSIE ) {
rewrite ^(.*)$ /msie/$1 break;
}
##将��动客户端的请求重定向到其他服务器
if ($http_user_agent ~* '(iphone|ipod)' ) {
rewrite ^.+ $uri;
}
##用户使用POST方式请求数据时候,返回405
if ($request_method = POST ) {
return 405;
}
rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;
rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra last;
##访问admin时候重定向到admin目录
location /php_admin {
rewrite ^/php_admin/.*$ /admin permanent;
}
下面关于Nginx的文章您也可能喜欢,不妨参考下: