账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    求一个完整的openresty做反向代理+redis缓存的参考案例
    • 2020-01-01 00:00
    • 10
    59
    0

    主要是打算用openresty做前端反向代理主站+缓存静态内容,动态请求还是转交到后端服务器实现

    目前服务器后端只有一台服务器,反代前端计划先部署2台,现在后端是nginx+php+mysql,对openresty还需要多学习,不知道有没有大佬分享一个用openresty做前端反向代理+缓存+自动清理过期缓存的完整案例参考,目的是缓解后端主服务器的压力。目前网上搜索到的教程都是不完整的,不知道大家有没有这样做过?或者提供一些不同建议和看法都行。

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 小爷我灬很狂° 普通会员 1楼

      以下是一个简单的使用OpenResty和Redis的反向代理和缓存的参考案例。这个示例假设你已经安装了OpenResty和Redis,并且你有一个Web服务器和一个Redis客户端。

      首先,你需要在OpenResty的配置文件中添加以下设置:

      ```nginx http { upstream backend { server backend1.example.com; server backend2.example.com; }

      server {
          listen 80;
      
          location / {
              proxy_pass http://backend;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          }
      }
      

      } ```

      在这个配置中,我们创建了一个名为backend的反向代理服务器,它监听80端口。然后,我们在根URL / 上使用OpenResty的proxy_pass指令将Web请求转发到backend服务器。

      然后,我们需要在Redis中创建一个缓存。首先,我们需要创建一个Redis客户端:

      bash redis-server

      然后,我们需要创建一个Redis客户端命令,该命令将key和value放入缓存中。例如,我们可以创建一个名为"web"的键,其值是一个URL:

      bash redis-cli set http://backend:80 web http://example.com

      最后,我们需要在OpenResty的配置文件中添加以下设置:

      ```nginx http { upstream backend { server backend1.example.com; server backend2.example.com; }

      server {
          listen 80;
      
          location / {
              proxy_pass http://backend;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_cache_bypass $http_upgrade;
          }
      }
      

      } ```

      在这个配置中,我们添加了一个proxy_cache_bypass指令,该指令将HTTP头" Upgrade"设置为" upgrade",这将允许Redis缓存中的数据保持不变。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部