您好,歡迎來到賦能網(wǎng)!

nginx的原理與配置[Java培訓]

賦能網(wǎng) 2023-06-13 165

1. master&worker

nginx的原理與配置[Java培訓]

2. master-workers的機制的好處

首先,對于每個worker進程來說,獨立的進程,不需要加鎖,所以省掉了鎖帶來的開銷,同時在編程以及問題查找時,也會方便很多。

其次,采用獨立的進程,可以讓互相之間不會影響,一個進程退出后,其它進程還在工作,服務(wù)不會中斷,master進程則很快啟動新的worker進程。當然,worker進程的異常退出,肯定是程序有bug了,異常退出,會導致當前worker上的所有請求失敗,不過不會影響到所有請求,所以降低了風險。

#設(shè)置worker數(shù)量。

worker_processes   4

#work綁定cpu(4 work綁定4cpu)。

worker_cpu_affinity 0001 0010 0100 1000

#work綁定cpu (4 work綁定8cpu中的4個) 。

worker_cpu_affinity 0000001 00000010 00000100 00001000

3.需要設(shè)置多少個worker

Nginx 同redis類似都采用了io多路復(fù)用機制,每個worker都是一個獨立的進程,但每個進程里只有一個主線程,通過異步非阻塞的方式來處理請求,  即使是千上萬個請求也不在話下。每個worker的線程可以把一個cpu的性能發(fā)揮到極致。

所以worker數(shù)和服務(wù)器的cpu數(shù)相等是最為適宜的。設(shè)少了會浪費cpu,設(shè)多了會造成cpu頻繁切換上下文帶來的損耗。

4.連接數(shù)worker_connection

這個值是表示每個worker進程所能建立連接的最大值,所以,一個nginx能建立的最大連接數(shù),應(yīng)該是worker_connections * worker_processes。當然,這里說的是最大連接數(shù),對于HTTP請求本地資源來說,能夠支持的最大并發(fā)數(shù)量是worker_connections * worker_processes,如果是支持http1.1的瀏覽器每次訪問要占兩個連接,所以普通的靜態(tài)訪問最大并發(fā)數(shù)是: worker_connections * worker_processes /2,而如果是HTTP作為反向代理來說,最大并發(fā)數(shù)量應(yīng)該是worker_connections * worker_processes/4。因為作為反向代理服務(wù)器,每個并發(fā)會建立與客戶端的連接和與后端服務(wù)的連接,會占用兩個連接。

5.nginx.conf 結(jié)構(gòu)

nginx的原理與配置[Java培訓]


nginx的原理與配置[Java培訓]

相關(guān): 現(xiàn)在參加web前端培訓,后期好找工作嗎——Java培訓學習以后就業(yè)會很好嗎

本文鏈接:

本文章“nginx的原理與配置[Java培訓]”已幫助 165 人

免責聲明:本信息由用戶發(fā)布,本站不承擔本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓機構(gòu)》培訓課程》學習資訊》課程優(yōu)惠》課程開班》學校地址等機構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢熱線:4008-569-579

如果本頁不是您要找的課程,您也可以百度查找一下: