nginx 常用配置

2021-09-07 20:32:35 字數 1574 閱讀 6961

1, listen per_worker

listen     80

;listen

8010 per_worker;

per_worker是說明當前的nginx除了建立在80號的埠上的偵聽之外,還需要建立8010開始的4個(由worker_processess配置決定的)埠。

然後,啟動nginx,再在命令列上測試

# sudo sbin/nginx -c your_demo_directory/nginx.conf

for port in

80 ; do curl "

"; done

顯示類似如下,即檢測成功。

2, accept_mutex

假設你養了一百隻小雞,現在你有一粒糧食,那麼有兩種餵食方法:

可以看到此場景下,啟用accept_mutex相對更好一些,讓我們修改一下問題的場景,我不再只有一粒糧食,而是一盆糧食,怎麼辦?

此時如果仍然採用主動抓小雞過來塞糧食的做法就太低效了,一盆糧食不知何年何月才能喂完,大家可以設想一下幾十隻小雞排隊等著餵食時那種翹首以盼的情景。此時更好的方法是把這盆糧食直接撒到小雞中間,讓它們自己去搶,雖然這可能會造成一定程度的混亂,但是整體的效率無疑大大增強了。

實際上我們可以通過工具來測量 accept_mutex 對效能的影響,比如說 ngx-req-distr:

開啟 accept_mutex 時:

shell> ./ngx-req-distr -m `cat /path/to/nginx.pid`

tracing

12970

12971

12972

12974 (/path/to/nginx)...

hit ctrl-c to end.

^cworker

12970: 0

reqs

worker

12971: 37

reqs

worker

12972: 127

reqs

worker

12974: 3 reqs

關閉 accept_mutex 時:

shell> ./ngx-req-distr -m `cat /path/to/nginx.pid`

tracing

20433

20434

20435

20436 (/path/to/nginx)...

hit ctrl-c to end.

^cworker

20433: 75

reqs

worker

20434: 32

reqs

worker

20435: 29

reqs

worker

20436: 44 reqs

明顯可以看出,同開啟 accept_mutex 相比,關閉 accept_mutex 的時候,請求在多個 worker 間的分配更均衡了

ref : 

nginx常用配置

官檔 nginx的負載均衡主要依賴這個模組 ngx http upstream module 1 安裝好nginx 192.168.1.111 2 修改egrep v nginx.conf.default nginx.conf 對其進行修改 訪問server name的時候,會找listen埠,所有...

Nginx常用配置

允許跨域 add header access control allow origin 配置 的使用者訪問認證 生成密碼檔案 htpasswd b c sitepasswd pigt password 配置訪問授權 auth basic input you user name and passwor...

nginx常用配置

其主要分為幾個模組 全域性快從開始到events塊之間的一部分內容,其作用域為全域性作用域 events塊 主要負責nginx伺服器與使用者的網路連線 常用設定 是否開啟多work process下的網路連線進行序列化 師傅允許接收多個網路連線 選取哪種驅動模型連線請求 process 最大連線數 ...