编程 Nginx 反向代理 Redis 服务

2024-11-19 09:41:21 +0800 CST views 1266

本文介绍如何通过 Nginx 实现对 Redis 服务的反向代理。此配置适用于需要通过 Nginx 来代理 Redis 服务的场景。

第一步:Redis 配置及启动

  1. 编辑 redis.conf 文件,配置 Redis 服务:

    vim redis.conf
    

    配置内容示例:

    port 6379
    # 取消绑定本地地址
    # bind 127.0.0.1
    daemonize yes
    requirepass test1234
    
  2. 启动 Redis 服务:

    redis-server /software/redis-5.0.5/redis.conf
    
  3. 验证 Redis 服务是否启动成功:

    ps -ef | grep redis
    

    示例输出:

    root       2081      1  0 09:23 ?        00:00:07 redis-server *:6379
    

第二步:安装 Nginx 并配置反向代理

  1. 配置并安装 Nginx:

    ./configure --with-stream  # 添加 stream 模块
    make && make install
    
  2. 备份并清理 Nginx 配置文件:

    mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
    grep -vE '^#|^$|^    #|^        #' /usr/local/nginx/conf/nginx.conf.bak > /usr/local/nginx/conf/nginx.conf
    
  3. 编辑 Nginx 配置文件 nginx.conf

    vim /usr/local/nginx/conf/nginx.conf
    

    配置内容示例:

    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    
        server {
            listen       80;
            server_name  localhost;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    }
    
    stream {  # stream 模块配置与 http 模块在相同级别
        upstream redis {
            server 127.0.0.1:6379 max_fails=3 fail_timeout=30s;
        }
    
        server {
            listen 16379;
            proxy_connect_timeout 1s;
            proxy_timeout 3s;
            proxy_pass redis;
        }
    }
    

第三步:验证配置

  1. 端口验证:

    netstat -ntlp | grep -E 'nginx|redis'
    

    示例输出:

    tcp        0      0 0.0.0.0:16379           0.0.0.0:*               LISTEN      13041/nginx: master
    tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      13253/redis-server
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      13041/nginx: master
    tcp6       0      0 :::6379                 :::*                    LISTEN      13253/redis-server
    
  2. 连接验证:

    redis-cli -h 127.0.0.1 -p 16379
    

    在 Redis CLI 中验证身份:

    127.0.0.1:16379> auth "test1234"
    OK
    

以上步骤完成后,Nginx 已成功配置为 Redis 的反向代理服务,并通过验证测试。

复制全文 生成海报 服务器 网络 代理 配置 数据库

推荐文章

如何在 Vue 3 中使用 TypeScript?
2024-11-18 22:30:18 +0800 CST
Vue3中的组件通信方式有哪些?
2024-11-17 04:17:57 +0800 CST
Vue3中如何处理权限控制?
2024-11-18 05:36:30 +0800 CST
Vue3中如何实现国际化(i18n)?
2024-11-19 06:35:21 +0800 CST
filecmp,一个Python中非常有用的库
2024-11-19 03:23:11 +0800 CST
Vue3中的响应式原理是什么?
2024-11-19 09:43:12 +0800 CST
乐观锁和悲观锁,如何区分?
2024-11-19 09:36:53 +0800 CST
如何在 Vue 3 中使用 Vuex 4?
2024-11-17 04:57:52 +0800 CST
一个简单的html卡片元素代码
2024-11-18 18:14:27 +0800 CST
rangeSlider进度条滑块
2024-11-19 06:49:50 +0800 CST
go错误处理
2024-11-18 18:17:38 +0800 CST
Vue中如何使用API发送异步请求?
2024-11-19 10:04:27 +0800 CST
Go的父子类的简单使用
2024-11-18 14:56:32 +0800 CST
全栈利器 H3 框架来了!
2025-07-07 17:48:01 +0800 CST
Hypothesis是一个强大的Python测试库
2024-11-19 04:31:30 +0800 CST
为什么大厂也无法避免写出Bug?
2024-11-19 10:03:23 +0800 CST
Nginx 跨域处理配置
2024-11-18 16:51:51 +0800 CST
程序员茄子在线接单