美文网首页阿里云
使用Nginx替代rinetd访问阿里云Redis

使用Nginx替代rinetd访问阿里云Redis

作者: xo1988 | 来源:发表于2018-02-02 16:10 被阅读23次

服务使用的阿里云的Redis,但是阿里云的Redis不提供公网地址,因此如果公司内网要访问Redis必然需要一个代理,阿里云官方文档使用的是rinetd,不过不得不说rinetd这个东西比较坑。访问多了或者时间长了就会使得CPU占用率非常高。然后发现redis连不上了,提示Connection reset by peer。
因此就要想办法替换掉rinetd。
以下是使用Nginx的部署方法。
Nginx从1.9之后的版本开始支持stream转发,但是发布的包默认是不支持此功能的,因此想要用上还需要自己编译。

1.先去nginx的官网下载代码,最新分支的地址是 http://hg.nginx.org/nginx, 一般想要编译稳定版,那么就要先在左侧选择branch分支,本教程选择是1.12版本,然后选择zip下载代码。

也可以省事用此地址直接下载:http://hg.nginx.org/nginx/archive/stable-1.12.zip。

2.本教程使用的是Centos7.4版本的系统,编译nginx之前当然要安装一下编译环境了。

yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel unzip

3.解压并编译安装

unzip stable-1.12.zip
cd stable-1.12
cp auto/configure .
./configure \
    --prefix=/etc/nginx                   \
    --sbin-path=/usr/sbin/nginx           \
    --conf-path=/etc/nginx/nginx.conf     \
    --pid-path=/var/run/nginx.pid         \
    --lock-path=/var/run/nginx.lock       \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --with-stream
make
make install

configure中最重要的就是--with-stream,加了这个编译选项才能支持stream转发。

4.nginx配置文件

worker_processes auto;
# error_log /var/log/nginx/error.log info; #上线之后如果不需要日志可以把他关了
events {
    worker_connections  1024;
}
stream {
    upstream redis {
        server *redis-addres*:6379 max_fails=3 fail_timeout=30s; #*redis-addres*替换为真是地址
    }
    server {
        listen 6379;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass redis;
    }
}

5.启动代理~
nginx -c 配置文件的绝对路径,到这里就大功告成了!!

PS:这下可以安心了,不用在烧香了~~

相关文章

  • 使用Nginx替代rinetd访问阿里云Redis

    服务使用的阿里云的Redis,但是阿里云的Redis不提供公网地址,因此如果公司内网要访问Redis必然需要一个代...

  • 阿里云redis rinetd 配置

    阿里云数据库 Redis 需要通过 ECS 的内网进行连接访问,如果您本地需要通过公网访问云数据库 Redis,可...

  • 【linux笔记】linux端口转发

    nginx转发比较好,rinetd转发会因为访问数等原因,导致占用cpu资源过多,最终导致程序挂掉 rinetd转...

  • 2018-08-22

    阿里云centos7中docker安装nginx 如下图 此时使用端口号访问nginx会发现页面被改

  • 阿里云redis外网访问

      阿里云redis外网访问设置步骤主要包括设置白名单、设置阿里云外网访问和通过redis-cli实现连接。具体步...

  • Jedis 访问阿里云redis

    阿里云redis目前不支持公网直接访问,如果需要本地联调阿里云redis。需要在ecs上建立转发。关于公网访问的阿...

  • 关于Jedis连接ECS

    环境 Java代码 Maven 服务器使用的是阿里云Ecs 问题 jedis访问Ecs的Redis报错 原因分析 ...

  • 将网站由http换成https

    一、前置准备使用nginx进行过基础配置,http网站可以正常访问。 二、步骤 1、去阿里云或腾讯云申请免费的ss...

  • nginx配置ssl使用https(解决前端跨域问题)

    想要使用https访问nginx上部署的项目首先得有ssl证书,ssl证书可以去阿里云或腾讯云之类的平台购买,当然...

  • Nginx/阿里云/二级域名的配置和使用

    阿里云域名解析配置如下: nginx配置如下: 访问地址:zhadmin.iotzzh.com

网友评论

    本文标题:使用Nginx替代rinetd访问阿里云Redis

    本文链接:https://www.haomeiwen.com/subject/qjbwgttx.html