Nginx 高階篇(五)Nginx 直連 Redis

huxiaobai_001發表於2020-03-19

redis2-nginx-module 是一個支援 Redis 2.0 協議的 Nginx upstream 模組,它可以讓 Nginx 以非阻塞方式直接防問遠方的 Redis 服務,同時支援 TCP 協議和 Unix Domain Socket 模式,並且可以啟用強大的 Redis 連線池功能。詳情見github https://github.com/openresty/redis2-nginx-module

假設你已經安裝好了Nginx伺服器
假設你已經安裝好了Redis服務端
接下來我們下載安裝redis2-nginx-module模組
下載地址:
https://github.com/openresty/redis2-nginx-...

//當然你可以下載最新版本哈
wget https://github.com/openresty/redis2-nginx-module/archive/v0.14.tar.gz
//解壓
tar -zxvf v0.14.tar.gz 

目前目錄結構如下

Nginx高階篇(五)Nginx直連redis

cd nginx-1.10.1

接下來是重點—–編譯nginx

./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/usr/local/redis2-nginx-module

有可能遇到這個報錯,在centos上:
./configure: error: the HTTP rewrite module requires the PCRE library.
那就:

`yum ``install` `pcre-devel`

然後

make && make install

這樣就安裝好了

修改nginx.conf,就可以像README中描述的那樣

# GET /get?key=some_key
location= /get {
     set_unescape_uri $key $arg_key;  # this requires ngx_set_misc
     redis2_query get $key;
     redis2_pass foo.com:6379;
 }

# GET /set?key=one&val=first%20value
location= /set {
     set_unescape_uri $key $arg_key;  # this requires ngx_set_misc
     set_unescape_uri $val $arg_val;  # this requires ngx_set_misc
     redis2_query set $key $val;
     redis2_pass foo.com:6379;
 }

下邊程式碼供參考:

server { 
    location = /v1/qrcode/loginInfo {
           default_type application/json; 
           redis2_query auth ${KVSTORE_AUTH}; 
           redis2_query select ${KVSTORE_DB}; 
           redis2_query get $arg_uuid; 
           redis2_pass redisPool; 
    }
}

Don’t think that others will clearly write the knowledge to you. If you don’t understand, go to Baidu yourself!

本作品採用《CC 協議》,轉載必須註明作者和本文連結

胡軍

相關文章