Nginx reuseport 連線重複問題

2021-10-14 10:21:29 字數 575 閱讀 9113

用ss -tnpl 'sport = :80' 命令,發現對於同乙個ip+port,乙個程序內會有多個fd與之對應。

經過修改listen 指令的引數發現是reuseport導致的。

1. gdb 除錯worker程序發現listening陣列中的埠被複製了。

2. 搜尋**發現在ngx_event_module中,對reuseport的埠做了特殊處理,如果是reuseport的埠,那麼就給每個worker程序都複製乙份,在ngx_open_listening_sockets的時候,每個worker程序就都有了。

具體原因見在這之前的版本

1. 如果worker_processes指令在listen ..reuseport之後被解析,那麼這個連線就不會被轉殖到worker程序中。

2. 這也簡化了接下來的worker connections數目的檢查,因為它也需要知道在clone之前的監聽套接字個數。

基於這兩點,就在event模組對reuseport的埠進行了clone。

mysql連庫 mysql遠端連庫

mysql連線遠端庫 伺服器端 1 登陸伺服器端,進入命令列,windows cmd 2 設定使用者 密碼讓指定的ip訪問 mysql u root p 或安裝的快捷方式進入 mysql command line client,使用grant命令 grant 許可權1,許可權2,許可權n on 資料...

按鍵連按和不連按

按鍵處理函式 返回按鍵值 mode 0,不支援連續按 1,支援連續按 0,沒有任何按鍵按下 1,wkup按下 wk up 注意此函式有響應優先順序,key0 key1 key2 wk up u8 key scan u8 mode else if key0 1 key1 1 key2 1 wk up ...

我今天表演加班,一連,二連,三連

是為dos提供的有力的除錯,跟蹤程式執行,檢查系統資料的工具程式,它是在字元介面下以單字元命令方式工作。要很好地使用它必須具備一定的彙編程式設計和硬體基本知識的能力,當然,它為組合語言程式設計師提供了有效的除錯手段,它的功能包括以下幾個方面。1.直接輸入 更改 跟蹤 執行匯程式設計序 2.觀察作業系...