关于nginx的Httpredis模块

吕秀才 发布于 2013/07/25 10:35
阅读 3K+
收藏 1

在研究和测试HttpRedis模块的时候,遇到一些疑惑,如下:

安装步骤就省了,看下配置文件吧

upstream redis {
  server 127.0.0.1:6379;
  keepalive 1024;
}

server {
    listen       80;
    server_name  192.168.0.182;

    location / {
      set $redis_key $request_uri;
      redis_pass     redis;
      default_type   text/html;
    }
}

配置感觉没有问题,是按照官方的文档写的,但是不明白我该怎么测试nginx和redis可以正常的互相通信呢?也就是说我该怎么测试上面的配置是正常的!求解惑!拜谢!

加载中
0
红星xx
红星xx

没用过这个模块 ,看你的配置 估计是把 URL 当成 redis 里的  key 取出对应的 value 。

你可以 在 redis-cli 里 添加一个key为 "/test/test.html"  或者 "test/test.html" 或者 带域名的全路径 都试一下, value 随便写个 "test" 或者 "abcd" 字符 ,然后访问看看 。

还可以在 redis-cli 里 使用 "info" 命令 ,看 connected_clients 参数 ,这个参数是 客户端连接数   。

还可以在 redis-cli 里使用 "client list" ,查看每个连接的 客户端 的详细信息 ,有2个就是正常的 ,一个是  nginx  的, 一个是 redis-cli 的。你这个模块不知道 保 不 保持长连接 , 如果 不保持 你这个 可能 需要 成功访问一次 才能 看到 效果 。

0
吕秀才
吕秀才

引用来自“红星xx”的答案

没用过这个模块 ,看你的配置 估计是把 URL 当成 redis 里的  key 取出对应的 value 。

你可以 在 redis-cli 里 添加一个key为 "/test/test.html"  或者 "test/test.html" 或者 带域名的全路径 都试一下, value 随便写个 "test" 或者 "abcd" 字符 ,然后访问看看 。

还可以在 redis-cli 里 使用 "info" 命令 ,看 connected_clients 参数 ,这个参数是 客户端连接数   。

还可以在 redis-cli 里使用 "client list" ,查看每个连接的 客户端 的详细信息 ,有2个就是正常的 ,一个是  nginx  的, 一个是 redis-cli 的。你这个模块不知道 保 不 保持长连接 , 如果 不保持 你这个 可能 需要 成功访问一次 才能 看到 效果 。

拜谢,我这里测试成功了

我之前按照你的方法试过,一直是404,

看到你的解释之后,我才发现,原来我之前测试在存key的时候,少了一个斜杠(/)

现在已经可以了!灰常感谢!

0
曾爷
曾爷
学习一下
0
风吹奶

redis Error:ready check failed:protocol error,got "H" as reply type byte

这是httpredis没配置好么?

返回顶部
顶部