Nginx直接訪問redis,lua訪問redis

2021-10-07 08:08:42 字數 1775 閱讀 7160

直接去wget就可以

這個需要重新編譯nginx,然後把這個模組加上。

下面大概說一下編譯nginx 和加這個模組可能會遇到的問題。

首先如果你電腦上有nginx ,那麼你要寫 使用nginx -v 檢視一下當前的模組,把這些模組全部拷貝在乙個位置上。

./configure  --prefix=  然後上面拷貝的全加上,然後再加上 一開始說的,redis2-nginx-module模組。

然後執行make。 可能會報錯,大部分原因是因為缺少 依賴包,比如 pcre之類的,缺少什麼就編譯安裝什麼。

然後 最後執行 nginx -v 可能會找不到nginx,這樣就軟連線到bin目錄下。

ln -s  《現在的目錄》   《鏈結到的目錄》

然後在其他地方 訪問一下 nginx -v

nginx -c /usr/local/nginx-1.8.1/conf/nginx.conf    

切記換成自己的目錄。我因為目錄的問題搞了很久。

找到nginx.conf,然後去裡邊的 server裡邊寫一段**

location = /get
foo.com改為redis位址,如果是本機則改為127.0.0.1.

然後重啟 nginx ,命令 nginx -s reload

測試一下,curl  127.0.0.1/get?key=name;

如果redis裡設了name,會返回對應的值。就成功了。

這裡是github文件:

no file。這時候,需要在nginx.conf  裡的server外邊指一下lua包的位置。

然後    在server裡邊配置一下

location = /test 

location /post

location = /set

然後就可以在自己指定的lua裡邊寫**了。

local redis = require "resty.redis"

local red = redis:new()

red:set_timeout(1000)

local ok, err = red:connect("127.0.0.1", 6379)

if not ok then

ngx.say("failed to connect: ", err)

return

else

-- ngx.say("redis connetc success")

end--從header拿到token

local receive_headers = ngx.req.get_headers()

for k, v in pairs(receive_headers) do

if k == "token" then token = v end

end--檢視是否存在

temp1 = 0

temp1 = red:exists(token)

if temp1 == 0 then

ngx.say("查無此人")

else

ngx.say("您的id為"..red:get(token))

end

Objective C 屬性訪問or直接訪問?

當定義了乙個屬性的時候,例如 property nonatomic,strong uiimageview imageview 有兩種訪問方法self.imageview imageview,屬性訪問和直接訪問有幾個區別 1直接訪問不用經過 方法派發 速度上有一定的優勢 2直接訪問,繞過了 記憶體管理...

從主頁直接訪問

最成功的乙個設計策略是在主頁上放置一些鏈結,這樣使用者能夠直接到達少數非常重要的功能。無論你將資訊結構組織得如何好,也不管你在導航系統中對它的表示是如何的透明,如果使用者必須經過多級的導航才能夠到達所需的功能,他們仍可能會迷失方向或者失去耐心。主頁上的直接鏈結為它提供了捷徑並簡化了這個任務。不幸的是...

禁止通過 url直接訪問

1.首先在page load中獲得並儲存該資訊 page load object obj,eventargs e l頁面回發後會改變request.urlreferrer,將其指向當前頁面,所以需要進行判斷 只有在第一次請求頁面的時候才儲存該資訊 l因為可能 上一次 的url不存在,所以需要進行判斷...