1.环境是这样的,用openresty搭建的环境(centos6.4),里面安装有redis ,这台机器的地址是192.168.2.165.作为缓存服务器2.在这台服务器的后台有一台windows server 2003的 网站服务器,192.168.2.166 3.我想要的效果是 2.165缓存2.166的数据,比如2.166下面有页面:192.168.2.166/zrq/1.aspx 我想通过192.168.2.165/zrq.1.aspx 去访问,还有就是192.168.2.166/zrq/1.aspx?id=123 带有参数值的页面也要缓存,但我不知道怎么去 用ngx_srcache + ngx_redis2/ngx_redis 将zrq.1.aspx 读取写到redis 我的配置如下,不知道怎么弄,请老师们指点下,不知道怎么去关联,在redis 里面没有数据的话怎么关联: # } location / { root html; # default_type text/html; #content_by_lua ' ngx.say ("<p>hello,world</p>")'; index index.html index.htm; } #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; } location ~* ^.+\.(aspx|asp).+$ { #default_type text/css; set $key $uri; set_escape_uri $escaped_key $key; srcache_fetch GET /redis $key; srcache_store PUT /redis2 key=$escaped_key&exptime=120; error_page 404 502 504 = @zrq;
}
location = /redis { internal; set_md5 $redis_key $args; redis_pass 127.0.0.1:6379; } location = /redis2 { internal; set_unescape_uri $exptime $arg_exptime; set_unescape_uri $key $arg_key; set_md5 $key; redis2_query set $key $echo_request_body; redis2_query expire $key $exptime; redis2_pass 127.0.0.1:6379; }
在 2014年1月24日星期五UTC+8下午2时17分37秒,朱瑞卿写道:1.环境是这样的,用openresty搭建的环境(centos6.4),里面安装有redis ,这台机器的地址是192.168.2.165.作为缓存服务器 2.在这台服务器的后台有一台windows server 2003的 网站服务器,192.168.2.166 3.我想要的效果是 2.165缓存2.166的数据, 比如2.166下面有页面:192.168.2.166/zrq/1.aspx 我想通过192.168.2.165/zrq.1.aspx 去访问,还有就是192.168.2.166/zrq/1.aspx?id=123 带有参数值的页面也要缓存,但我不知道怎么去 用ngx_srcache + ngx_redis2/ngx_redis 将zrq.1.aspx 读取写到redis 我的配置如下,不知道怎么弄,请老师们指点下,不知道怎么去关联,在redis 里面没有数据的话怎么关联: # } location / { root html; # default_type text/html; #content_by_lua ' ngx.say ("<p>hello,world</p>")'; index index.html index.htm; } #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; } location ~* ^.+\.(aspx|asp).+$ { #default_type text/css; set $key $uri; set_escape_uri $escaped_key $key; srcache_fetch GET /redis $key; srcache_store PUT /redis2 key=$escaped_key&exptime=120; error_page 404 502 504 = @zrq; } location @zrq { proxy_pass http://192.168.2.166:80; } location = /redis { internal; set_md5 $redis_key $args; redis_pass 127.0.0.1:6379; } location = /redis2 { internal; set_unescape_uri $exptime $arg_exptime; set_unescape_uri $key $arg_key; set_md5 $key; redis2_query set $key $echo_request_body; redis2_query expire $key $exptime; redis2_pass 127.0.0.1:6379; } --
1.环境是这样的,用openresty搭建的环境(centos6.4),里面安装有redis ,这台机器的地址是192.168.2.165.作为缓存服务器 2.在这台服务器的后台有一台windows server 2003的 网站服务器,192.168.2.166 3.我想要的效果是 2.165缓存2.166的数据, 比如2.166下面有页面:192.168.2.166/zrq/1.aspx 我想通过192.168.2.165/zrq.1.aspx 去访问,还有就是192.168.2.166/zrq/1.aspx?id=123 带有参数值的页面也要缓存,但我不知道怎么去 用ngx_srcache + ngx_redis2/ngx_redis 将zrq.1.aspx 读取写到redis 我的配置如下,不知道怎么弄,请老师们指点下,不知道怎么去关联,在redis 里面没有数据的话怎么关联: # } location / { root html; # default_type text/html; #content_by_lua ' ngx.say ("<p>hello,world</p>")'; index index.html index.htm; } #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; } location ~* ^.+\.(aspx|asp).+$ { #default_type text/css; set $key $uri; set_escape_uri $escaped_key $key; srcache_fetch GET /redis $key; srcache_store PUT /redis2 key=$escaped_key&exptime=120; error_page 404 502 504 = @zrq;
页面缓存你可以使用像squid/varnish等反响代理缓存去做可能会更好。如果你要使用redis去缓存数据的话,可以直接在166上面去165的redis里去拿数据,如果存在数据则输出,不然的话生成数据然后写入redis.不需要没台机器上都去使用openresty 在 2014年1月24日 下午3:27,朱瑞卿 <lmd...@gmail.com>写道: 在 2014年1月24日星期五UTC+8下午2时17分37秒,朱瑞卿写道:1.环境是这样的,用openresty搭建的环境(centos6.4),里面安装有redis ,这台机器的地址是192.168.2.165.作为缓存服务器 2.在这台服务器的后台有一台windows server 2003的 网站服务器,192.168.2.166 3.我想要的效果是 2.165缓存2.166的数据, 比如2.166下面有页面:192.168.2.166/zrq/1.aspx 我想通过192.168.2.165/zrq.1.aspx 去访问,还有就是192.168.2.166/zrq/1.aspx?id=123 带有参数值的页面也要缓存,但我不知道怎么去 用ngx_srcache + ngx_redis2/ngx_redis 将zrq.1.aspx 读取写到redis 我的配置如下,不知道怎么弄,请老师们指点下,不知道怎么去关联,在redis 里面没有数据的话怎么关联: # } location / { root html; # default_type text/html; #content_by_lua ' ngx.say ("<p>hello,world</p>")'; index index.html index.htm; } #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; } location ~* ^.+\.(aspx|asp).+$ { #default_type text/css; set $key $uri; set_escape_uri $escaped_key $key; srcache_fetch GET /redis $key; srcache_store PUT /redis2 key=$escaped_key&exptime=120; error_page 404 502 504 = @zrq; } location @zrq { proxy_pass http://192.168.2.166:80; } location = /redis { internal; set_md5 $redis_key $args; redis_pass 127.0.0.1:6379; } location = /redis2 { internal; set_unescape_uri $exptime $arg_exptime; set_unescape_uri $key $arg_key; set_md5 $key; redis2_query set $key $echo_request_body; redis2_query expire $key $exptime; redis2_pass 127.0.0.1:6379; } --
Hello! 2014/1/24 朱瑞卿: > 我的这个配置上面,就根本没有写进数据直接就pass到 2.166上面去了,没有写到2.165上面不知道配置上面哪儿有问题,varnish > 可以直接将aspx 页面缓存进去吗,请老师指导下。 > 建议检查你的 nginx 的错误日志文件(一般是 logs/error.log)。如果你没看到任何相关的错误消息,可以进一步开启 nginx 的调试日志,然后筛选出所有包含 srcache 字样的消息进行问题诊断(见 http://nginx.org/en/docs/debugging_log.html ) 另外,值得一提的是,请尽量不要在此邮件列表里发送 HTML 格式的邮件。你的邮件在我这里几乎没法看。。。 Regards, -agentzh