Nginx與Lua灰度發布的實現_nginx

來源:腳本之家  責任編輯:小易  

配置文件中加入 proxy_set_header Host$host;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;www.13333515.buzz防采集請勿采集本網。

安裝 memcached

當項目文件中的每個文件無擴展名時,均按源文件對待,另外,其中的文件也可以是庫文件,但必須寫上擴展名.LIB。2.Break make on:由用戶選擇是否在有Warining、Errors、Fatal Errors時或Link之前退出

在 ngx_lua 中訪問 NginX 內置變量 ngx.var.arg_PARAMETER 即可獲得GET參數PARAMETER的內容。如何獲取POST請求體數據?要獲得完整的POST請求體數據,可以訪問 NginX 內置變量 ngx.var.request_

yum install -y memcached#啟動memcached服務,端口11211,以nobody身份啟動,-d后臺模式運行memcached -p11211 -u nobody -d#將自己的IP設為灰度測試的IPtelnet 127.0.0.1 11211set 119.32.216.122 0 0 11quit

說實話 你這樣提問確實挺難回答的因為我沒用過nginx不太清楚里面table是怎么使用的不過我推薦你使用的方法是在一開始創建一個table 然后使用ip作為table的索引將內容放在table存儲比方local tab={}for i=1

安裝 memcached

當項目文件中的每個文件無擴展名時,均按源文件對待,另外,其中的文件也可以是庫文件,但必須寫上擴展名.LIB。2.Break make on:由用戶選擇是否在有Warining、Errors、Fatal Errors時或Link之前退出

for lua

在 ngx_lua 中訪問 NginX 內置變量 ngx.var.arg_PARAMETER 即可獲得GET參數PARAMETER的內容。如何獲取POST請求體數據?要獲得完整的POST請求體數據,可以訪問 NginX 內置變量 ngx.var.request_

wget https://github.com/openresty/lua-resty-memcached/archive/v0.11.tar.gztar -zxvf v0.11.tar.gzmkdir -p /usr/local/share/lua/5.1cp -r lua-resty-memcached-0.11/lib/resty /usr/local/share/lua/5.1

創建 test.lua 文件

在 ngx_lua 中訪問 NginX 內置變量 ngx.var.arg_PARAMETER 即可獲得GET參數PARAMETER的內容。如何獲取POST請求體數據?要獲得完整的POST請求體數據,可以訪問 NginX 內置變量 ngx.var.request_

clientIP=ngx.req.get_headers()["X-Real-IP"]if clientIP == nil then clientIP=ngx.req.get_headers()["x_forwarded_for"]endif clientIP == nil then clientIP=ngx.var.remote_addrend local memcached=require "resty.memcached" local memc,err=memcached:new() if not memc then ngx.say("failed to instantiate memc:",err) return end local ok,err =memc:connect("127.0.0.1",11211) if not ok then ngx.say("failed to connect:",err) return end local res,flags,err =memc:get(clientIP) --ngx.say("value key: ",res,clientIP) if err then ngx.say("failed to get clientIP",err) return end if res == "1" then ngx.exec("@server_test") return end ngx.exec("@server_product")

nginx配置

在 ngx_lua 中訪問 NginX 內置變量 ngx.var.arg_PARAMETER 即可獲得GET參數PARAMETER的內容。如何獲取POST請求體數據?要獲得完整的POST請求體數據,可以訪問 NginX 內置變量 ngx.var.request_

server { listen 8867; server_name www.siguoya.name; root /usr/local/nginx/1.12.1/html; location / { content_by_lua_file /etc/nginx/test.lua; } location /hello { default_type text/plain; content_by_lua 'ngx.say("hello lua")'; } location /ua { default_type text/plain; content_by_lua ' clientIP=ngx.req.get_headers()["USER-AGENT"] ngx.say("IP:",clientIP) '; } location @server_product { default_type text/plain; return 200 'product'; } location @server_test { default_type text/plain; return 200 'test'; } }

由于我們將 119.32.216.122 這個IP添加進了memcached中,因此訪問 http://www.siguoya.name:8867/ 的時候,看到的內容就是 test

而開啟全局代理之后,發現看到的內容就是 product,這樣就實現了針對部分用戶進行灰度測試的效果

到此這篇關于Nginx與Lua灰度發布的實現的文章就介紹到這了,更多相關Nginx與Lua灰度發布內容請搜索真格學網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持真格學網!

1 下載luajit 2.0并安裝我是直接使用源碼make&make install所以lib和include是直接放在/usr/local/lib和usr/local/include2 下載nginx源碼,解壓注意版本號,如果機子上已經裝了nginx,不想升級的話,請使用/to/nginx/sbin/nginx –v來查看版本號3 下載ngx_devel_kit HERE 解壓4 下載nginx_lua_module HERE 解壓5 進入nginx源碼文件夾cd nginx-1.0.11/6 導入環境變量,編譯export LUAJIT_LIB=usr/local/lib#這個很有可能不一樣export LUAJIT_INC=usr/local/include/luajit-2.0#這個很有可能不一樣configure-prefix=opt/nginx \\#nginx的安裝路徑add-module=path/to/ngx_devel_kit \\#ngx_devel_kit 的源碼路徑add-module=path/to/lua-nginx-module#nginx_lua_module 的源碼路徑內容來自www.13333515.buzz請勿采集。


  • 本文相關:
  • nginx 實現灰度發布的三種方法總結
  • 簡單談談nginx基礎知識入門
  • centos7系統下nginx安裝并配置開機自啟動操作
  • nginx + tomcat實現請求動態數據和請求靜態資源的分離詳解
  • 詳解通過nginx部署django(基于ubuntu)
  • 部署nginx+apache動靜分離的實例詳解
  • apache和nginx的優缺點詳解_動力節點java學院整理
  • 詳解nginx同一端口監聽多個域名和同時監聽http與https
  • nginx服務器相關的一些安全配置建議
  • windows安裝nginx部署步驟圖解(反向代理與負載均衡)
  • 通過nginx反向代理來調試代碼的實現
  • 深入淺出 nginx lua 為什么高性能
  • java怎么到nginx lua中
  • 深入淺出 nginx lua 為什么高性能
  • lua nginx 怎么ngx.sleep
  • nginx 是怎么和lua vm交互的
  • nginx+lua怎樣實現http請求的響應
  • lua nginx 怎么sleep
  • 怎么用nginx加載lua文件
  • nginx lua return后還繼續執行嗎
  • redis和nginx以及lua加起來怎么用
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全星外虛擬主機華眾虛擬主機linuxwin服務器ftp服務器dns服務器tomcat nginxzabbix云和虛擬化服務器其它首頁服務器nginxnginx 實現灰度發布的三種方法總結簡單談談nginx基礎知識入門centos7系統下nginx安裝并配置開機自啟動操作nginx + tomcat實現請求動態數據和請求靜態資源的分離詳解詳解通過nginx部署django(基于ubuntu)部署nginx+apache動靜分離的實例詳解apache和nginx的優缺點詳解_動力節點java學院整理詳解nginx同一端口監聽多個域名和同時監聽http與httpsnginx服務器相關的一些安全配置建議windows安裝nginx部署步驟圖解(反向代理與負載均衡)通過nginx反向代理來調試代碼的實現nginx提示:500 internal servernginx 多站點配置方法集合權限問題導致nginx 403 forbiddenginx fastcgi錯誤primary scripnginx服務器的反向代理proxy_pasnginx 403 forbidden的解決辦法nginx偽靜態配置和常用rewrite偽nginx下301重定向域名的方法小結詳解nginx服務器中配置超時時間的windows下nginx+php5的安裝與配置詳解nginx 反向代理、負載均衡、頁面緩存在nginx服務器上安裝配置博客程序typechopython的bottle框架基本知識總結windows下nginx+tomcat配置負載均衡的方法國外著名論壇程序ipb(invision power boanginx服務器初期基本配置指南nginx下支持thinkphp url rewrite的配置示nginx worker_connections配置太低導致50nginx在mac上的安裝、啟動、重啟和關閉nginx的信號控制
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.13333515.buzz All Rights Reserved
    3排列五开奖结果