请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,nginx是怎么实现多端口运行多个redis的?

老师,nginx是怎么实现多端口运行多个redis的?

正在回答 回答被采纳积分+3

1回答

Jeson 2018-06-14 22:26:06

应该是多端口访问多个redis吧,这种场景一般用得很少,我感觉你可以考虑按照如下步骤进行:

1、下载ngx_http_redis包,编译安装这个模块

2、多端口访问多个redis,首先nginx创建多个基于不同端口的虚拟主机,基于不同端口的虚拟主机配置如下:

   upstream redisbackend1 {
       server 127.0.0.1:6379;
       keepalive 1024 single;
   }

   upstream redisbackend2 {
       server 127.0.0.1:6379;
       keepalive 1024 single;
   }

server{

 listen   80;

       location /redis {
           ...
           redis_pass redisbackend;
       }

}

server{

 listen   81;

       location /redis {
           ...
           redis_pass redisbackend2;
       }

}

这里创建了两个Nginx虚拟主机分别监听80端口和81端口,并且他们会分别请求到后台两个redis服务中。大概代码就是这样子的,你可以试试

0 回复 有任何疑惑可以回复我~
  • 提问者 ericdemon #1
    老师,2个redis的服务端口不应该是不同的2个端口吗 为什么您的端口是2个一样的,这样的话 如果在高并发的情况下 redis又是单线程 会不会出现一个端口中一个redis服务不能访问
    回复 有任何疑惑可以回复我~ 2018-06-15 00:01:39
  • Jeson 回复 提问者 ericdemon #2
    嗯 redis在同一台机器上的话,就是两个端口。这个取决于多大的并发了,这样单个实力的做法,确实有不妥之处,对于高并发数据的冗余效果都一般。
    回复 有任何疑惑可以回复我~ 2018-06-15 09:32:26
  • 提问者 ericdemon 回复 Jeson #3
    那如果我设置了2个虚拟主机 比如说 /opt/data/www/admin和/opt/data/www/home 然后我admin用的6379的redis端口,6380端口再开一个redis服务  但是我想了想感觉这样的话 最终的效果还是一个虚拟主机对应了一个redis的端口,
    其实在高并发的情况下 我想在一个虚拟主机上面多配置几个redis端口。。老师
    回复 有任何疑惑可以回复我~ 2018-06-15 13:07:12
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信