lua resty websocket安裝和測試

2022-01-31 19:50:19 字數 2248 閱讀 6085

關注openresty很久了,期待支援websocket終於出來了,看到aapo talvensaari同學寫的文章興奮下也來測試下,之前用websocket做即時通訊,還是基於socket.io的例子,現在用nginx來做...初嘗試下,竟然報錯了,章哥的解答在這裡:

,現在配置成功了,將自己的配置過程寫下來,希望對大家有所幫助.

主要原因是:

websocket依賴於 lua-nginx-module,得用最新版本的,下面是章哥給的配置.

我用最新的1.4.2.7編譯並測試成功的了.

安裝完成後

cd ../

git clone

拷貝websocket到lualib目錄下

cp -r lua-resty-websocket/lib/resty/websocket /usr/local/lualib/resty/

配置自己的nginx conf的內容

在nginx.conf中新增lualib的路徑

lua_package_path "/usr/local/lualib/resty/websocket/?.lua;;";

我這裡是獨立開的yagamiko.conf,新增websocket:

在server段內,修改新增以下內容:

listen 80 default so_keepalive=2s:2s:8;

這個是aapo talvensaari同學寫的測試**: 

location /1.0/websocket 

ifnot wb then

ngx.log(ngx.err,

"failed to new websocket:

", err)

return ngx.exit(444

)

endwhile

true

dolocal data, typ, err =wb:recv_frame()

if wb.fatal then

ngx.log(ngx.err,

"failed to receive frame:

", err)

return ngx.exit(444

)

endif

not data then

local bytes, err =wb:send_ping()

ifnot bytes then

ngx.log(ngx.err,

"failed to send ping:

", err)

return ngx.exit(444

)

endelseif typ == "

close

"then

break

elseif typ == "

ping

"then

local bytes, err =wb:send_pong()

ifnot bytes then

ngx.log(ngx.err,

"failed to send pong:

", err)

return ngx.exit(444

)

endelseif typ == "

pong

"then

ngx.log(ngx.info,

"client ponged")

elseif typ == "

text

"then

local bytes, err =wb:send_text(data)

ifnot bytes then

ngx.log(ngx.err,

"failed to send text:

", err)

return ngx.exit(444

)

endend

endwb:send_close() '

;}

然後重新啟動nginx就可以了...

使用 這個哥們提到的測試html,就可以了

測試....這裡注意在同乙個網域名稱下就好了....

測試成功了....

接下來嘗試將之前寫的即時聊天的邏輯移植過來.....

章哥太給力了,openresty 很讚啊....

Dart GRPC Ubuntu環境安裝和測試

解壓 新增到環境裡去 unzip dartsdk linux x64 release.zip cd dart sdk bin pwd 把pwd顯示的目錄加入到path,例如我的顯示的是 root dart sdk bin echo export path path root dart sdk bin...

vsftpd安裝 親測

檢視是否安裝了 vsftpd rpm qa grep vsftpd yum y install vsftpd 3.設定為開機自啟動 systemctl enable vsftpd 3.為確保成功,先啟動firewalld 服務 systemctl enable firewalld systemctl...

windows下ab的安裝和壓測

安裝 解壓,找到bin所在目錄,用命令列開啟該目錄,我的是這樣的 至此,ab算是啟動成功 注意 以下測試都是用abs來請求的,但是有些ab工具,直接用ab也可以。看大家ab的支援情況而定。樓主的只有abs才支援https請求。get請求 abs n1 c1 引數解釋 ab http請求 abs ht...