nginx從1.9.0開始,新增加了乙個stream模組,用來實現四層協議的**、**或者負載均衡等。這完全就是搶haproxy份額的節奏,鑑於nginx在7層負載均衡和web service上的成功,和nginx良好的框架,stream模組前景一片光明。
stream模組預設沒有編譯到nginx, 編譯nginx時候 ./configure –with-stream 即可
官網:stream模組用法和http模組差不多,關鍵的是語法幾乎一致。熟悉http模組配置語法的上手更快
以下是乙個配置了tcp負載均衡和udp(dns)負載均衡的例子, 有 server,upstream塊,而且還有server,
hash, listen, proxy_pass等指令,如果不看最外層的stream關鍵字,還以為是http模組呢。
worker_processes auto;
error_log logs/error.stream.log info;
events
stream
upstream dns
server
server
}
注意:變數支援是從 nginx 1.11.2版本開始的
$binary_remote_addr
二進位制格式的客戶端位址
$bytes_received
從客戶端接收到的位元組數
$bytes_sent
發往客戶端的位元組數
$hostname
連線網域名稱
$msec
毫秒精度的當前時間
$nginx_version
nginx 版本
$pid
worker程序號
$protocol
通訊協議(udp or tcp)
$remote_addr
客戶端ip
$remote_port
客戶端埠
$server_addr
接受連線的伺服器ip,計算此變數需要一次系統呼叫。所以避免系統呼叫,在listen指令裡必須指定具體的伺服器位址並且使用引數bind。
$server_port
接受連線的伺服器端口
$session_time
毫秒精度的會話時間(版本1.11.4開始)
$status
會話狀態(版本1.11.4開始), 可以是一下幾個值:
200成功
400不能正常解析客戶端資料
403禁止訪問
500伺服器內部錯誤
502閘道器錯誤,比如上游伺服器無法連線
503服務不可用,比如由於限制連線等措施導致
$time_iso8601
iso 8601時間格式
$time_local
普通日誌格式的時間戳
目前官網上列出的第三方模組、簡直就是http模組的映象、比如access模組訪問控制ip和ip段,map模組實現對映、 geo模組實現地理位置對映、等等。使用這些模組的時候一定要看是哪個版本才支援的、比如log模組,只有在nginx-1.11.4才支援。
ngx_stream_core_module
ngx_stream_access_module
ngx_stream_geo_module
ngx_stream_geoip_module
ngx_stream_js_module
ngx_stream_limit_conn_module
ngx_stream_log_module
ngx_stream_map_module
ngx_stream_proxy_module
ngx_stream_realip_module
ngx_stream_return_module
ngx_stream_split_clients_module
ngx_stream_ssl_module
ngx_stream_ssl_preread_module
ngx_stream_upstream_module
ngx_stream_upstream_hc_module
nginx stream模組初探
nginx從1.9.0開始,新增加了乙個stream模組,用來實現四層協議的 或者負載均衡等。這完全就是搶haproxy份額的節奏,鑑於nginx在7層負載均衡和web service上的成功,和nginx良好的框架,stream模組前景一片光明。stream模組預設沒有編譯到nginx,編譯ngi...
Nginx stream模組初探
nginx從1.9.0開始,新增加了乙個stream模組,用來實現四層協議的 或者負載均衡等。這完全就是搶haproxy份額的節奏,鑑於nginx在7層負載均衡和web service上的成功,和nginx良好的框架,stream模組前景一片光明。stream模組預設沒有編譯到nginx,編譯ngi...
初探phpcms模組
我們可以在 找到他的目錄結構 我們要開發的東東 也就是模組 就在 phpcms modules 下面 如果沒有什麼特別的 在開發乙個模組之前先要按照目錄結構建立好相關目錄並且設計好資料庫表結構 比方說 我們建立乙個模組叫做我的模組 my test 下面應該是mytest下的目錄結構 mytest c...