Re: 请老师们指点下ngx_srcache + ngx_redis2/ngx_redis 和redis 做缓存服务器,缓存aspx文件,后台是windows 服务器,怎么将.aspx?参数的文件缓存

81 views
Skip to first unread message
Message has been deleted

朱瑞卿

unread,
Jan 24, 2014, 2:27:10 AM1/24/14
to open...@googlegroups.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;
                } 

王斌科

unread,
Jan 24, 2014, 3:06:12 AM1/24/14
to open...@googlegroups.com
页面缓存你可以使用像squid/varnish等反响代理缓存去做可能会更好。


如果你要使用redis去缓存数据的话,可以直接在166上面去165的redis里去拿数据,如果存在数据则输出,不然的话生成数据然后写入redis.
不需要没台机器上都去使用openresty


--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html

朱瑞卿

unread,
Jan 24, 2014, 3:18:48 AM1/24/14
to open...@googlegroups.com
我的这个配置上面,就根本没有写进数据直接就pass到 2.166上面去了,没有写到2.165上面不知道配置上面哪儿有问题,varnish 可以直接将aspx 页面缓存进去吗,请老师指导下。
 
在 2014年1月24日星期五UTC+8下午4时06分12秒,斌科 王写道:

Yichun Zhang (agentzh)

unread,
Jan 24, 2014, 5:44:02 PM1/24/14
to openresty
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

朱瑞卿

unread,
Jan 25, 2014, 11:27:03 PM1/25/14
to open...@googlegroups.com
谢谢!!我试试看!查看下日志,谢谢提醒下次会以html格式了。

在 2014年1月25日星期六UTC+8上午6时44分02秒,agentzh写道:
Reply all
Reply to author
Forward
0 new messages