memcachedをインストールする yum インストール -y memcached #memcached サービスを開始します。ポート 11211、nobody として開始、-d バックグラウンド モードで memcached を実行します -p11211 -u nobody -d #グレースケールテストIPとして自分のIPを設定する テルネット 127.0.0.1 11211 119.32.216.122 0 0 1 を設定 1 やめる lua用のmemcachedをインストールする https://github.com/openresty/lua-resty-memcached/archive/v0.11.tar.gz を取得します。 tar -zxvf v0.11.tar.gz mkdir -p /usr/local/share/lua/5.1 cp -r lua-resty-memcached-0.11/lib/resty /usr/local/share/lua/5.1 test.luaファイルを作成する clientIP = ngx.req.get_headers()["X-Real-IP"] clientIP == nilの場合 クライアントIP = ngx.req.get_headers()["x_forwarded_for"] 終わり clientIP == nilの場合 クライアントIP=ngx.var.remote_addr 終わり ローカル memcached=require "resty.memcached" ローカル memc、err=memcached:new() memcでない場合は ngx.say("memc のインスタンス化に失敗しました:",err) 戻る 終わり ローカル OK、エラー =memc:connect("127.0.0.1",11211) 大丈夫でなければ ngx.say("接続に失敗しました:",err) 戻る 終わり ローカル res、フラグ、エラー =memc:get(clientIP) --ngx.say("値キー: ",res,clientIP) エラーの場合 ngx.say("クライアントIPの取得に失敗しました",err) 戻る 終わり res == "1"の場合 ngx.exec("@server_test") 戻る 終わり ngx.exec("@server_product") nginx の設定 サーバー{ 聞く 8867; サーバー名 www.siguoya.name; ルート /usr/local/nginx/1.12.1/html; 位置 / { コンテンツ_by_lua_file /etc/nginx/test.lua; } 場所 /hello { デフォルトタイプはテキスト/プレーンです。 content_by_lua 'ngx.say("hello lua")'; } 場所 /ua デフォルトタイプはテキスト/プレーンです。 コンテンツbylua クライアントIP = ngx.req.get_headers()["ユーザーエージェント"] ngx.say("IP:",クライアントIP) '; } 場所 @server_product { デフォルトタイプはテキスト/プレーンです。 200 'product' を返します。 } 場所 @server_test { デフォルトタイプはテキスト/プレーンです。 200 'テスト' を返します。 } } IP 119.32.216.122をmemcachedに追加したので、http://www.siguoya.name:8867/にアクセスすると、コンテンツテストが表示されます。 グローバル プロキシをオンにした後、表示されたコンテンツが製品であり、一部のユーザーにとってグレースケール テストの効果を達成していることがわかりました。 Nginx と Lua のグレースケールリリースの実装に関するこの記事はこれで終わりです。Nginx と Lua のグレースケールリリースに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: MySQLで更新可能なビューを作成する方法の詳細な説明
XQuery は、XML ドキュメントからデータを抽出するための言語です。 XQuery は、XML...
テーブルページを作成するときに、td に設定された幅が無効になることがあります。td の幅は常に内部...
実際の開発ではポップアップウィンドウがよく使われます。CSS3を勉強していたときに、閉じることができ...
目次序文テーブル コンポーネントをカプセル化する必要があるのはなぜですか?ステップ1: 共通コンポー...
CentOS7 64でのMySQL5.6.40のインストール手順1) 以前にインストールしたMySQ...
1. DockerUIの紹介DockerUI は Docker API をベースとしており、Dock...
1. 今日の午後、コースの要件により、Ubuntu で FTP サーバーを設定する実験を行う必要が...
MySQL 複数の無関係なテーブルクエリデータとページング機能要件主キーと外部キーの関連付けがない ...
最近何かをするときにラベル タグを使用しました。以前はラベル タグをほとんど使用していなかったため、...
mysql が閉じない場合の解決策:コンピュータのタスクバーを右クリックしてタスクマネージャーを開き...
1. MySQLデータベースのエンコーディングを確認する mysql -u ユーザー名 -p パスワ...
CSS3アニメーションとJSアニメーションの違いJSはフレームアニメーションを実装しますCSS3はト...
1. 公式ウェブサイトにアクセスして、jdk-8u162-linux-x64.tar.gzなどのLi...
いつものように、今日は非常に実用的な CSS 効果についてお話します。マウスがボタンに移動すると、ド...
この記事では、MySQL で複数のテーブルを使用して 1 対多のクエリを使用して最新のデータを取得す...