Nginx+Redisはredis 2-nginx-moduleを利用してNginxにRedisサービスに直接アクセスさせる

1795 ワード

Nginxは逆プロキシサーバとしてよく使用されますが、Redisはkey-valueデータベースです.この文書では、NginxがRedisサービスに直接アクセスできるようにする方法について説明します.Nginxモジュールredis 2-nginx-moduleが必要です.GitHubアドレス:https://github.com/openresty/redis2-nginx-module
GitHubのREADMEの説明はやはりはっきりしている.しかし、このモジュールの目的は私たちのタイトルが言っているほど単純ではないので、READMEを見るときは、もっと自分で掘り起こす必要があり、多くの細部が欠けています.テキストは、NginxのRedisサービスへの直接アクセスについて単独で説明します.
Redisのインストール
この部分は本文の重点ではないので,必要な学生はこの文章を参考にすることができる.
https://www.cnblogs.com/codersay/p/4301677.html
 
OpenRestyのインストール
まず、アクセスhttp://openresty.org/cn/installation.htmlを選択し、チュートリアルに従ってOpenRestyをインストールします.
wget https://openresty.org/download/openresty-VERSION.tar.gz

tar-xzvf openresty-VERSION.tar.gz

cdopenresty-VERSION/

./configure

make

sudomake install

この時点ではNginxサーバが既にインストールされており、redis 2-nginx-moduleモジュールがロードされているため、OpenRestyにすべて統合されているため、Nginxを別途インストールしたりredis 2-nginx-moduleをロードしたりして、インストールを再コンパイルする必要はありません.
 
nginxを変更します.confファイル
上記のように、この時点でNginxをインストールし、nginxを変更します.confファイルは、Nginxを介してRedisサービス機能に直接アクセスしてOKかどうかをテストします.では問題ですが、Nginxはどこにインストールされていますか?nginx.confはどこだ?
Nginx - openresty/nginx
nginx.conf -/usr/local/openresty/nginx/conf
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;
 }

ここではgetとsetを追加してテストしやすいです.
Nginxの起動
openresty/nginx/sbin/nginx start

今すぐテストできます!