我們經(jīng)常會聽到有人問什么是Nginx的問題。Nginx它指的是一個完整的代理請求過程,它是客戶端第一步要連接代理服務(wù)器,進而再根據(jù)代理服務(wù)器使用的代理協(xié)議要求連接或者獲取目標服務(wù)器的指定資源。事實上Nginx在同類網(wǎng)絡(luò)服務(wù)器中它的并發(fā)性能比較好,代理就是位于網(wǎng)絡(luò)客戶端以及網(wǎng)絡(luò)服務(wù)器之間的一個中間現(xiàn)線人。下面我們就詳細為您闡述一下什么是Nginx?Nginx如何處理請求?Nginx典型應(yīng)用場景是什么?希望可以幫助到您。

代理服務(wù)器是客戶端和網(wǎng)絡(luò)服務(wù)器之間的另一個服務(wù)器。實際上nginx在同類網(wǎng)絡(luò)服務(wù)器中的并發(fā)性非常好。代理商:通常局域網(wǎng)中的機器通過代理商向因特網(wǎng)發(fā)送所需的服務(wù)器,代理商通常在客戶端使用。一個完整的代理請求過程是客戶端首先連接代理服務(wù)器,然后根據(jù)代理服務(wù)器使用的代理協(xié)議要求連接或獲取目標服務(wù)器的指定資源。網(wǎng)絡(luò)代理是網(wǎng)絡(luò)的中間實體。代理位于網(wǎng)絡(luò)客戶端和網(wǎng)絡(luò)服務(wù)器之間,起著中間人的作用。HTTP代理服務(wù)器是網(wǎng)絡(luò)服務(wù)器,也是網(wǎng)絡(luò)客戶端。
nginx當然也可以作為客戶機要求其他server的數(shù)據(jù)。這時,與其他server創(chuàng)建的連接也被封裝在ngx_connection_t中。當nginx實現(xiàn)時,通過連接池進行管理。
一、Nginx如何處理請求?
首先,啟動nginx時,分析配置文件,獲取需要監(jiān)視的端口和ip地址,在nginx的master過程中初始化socket(創(chuàng)建socket,設(shè)置addreuse等選項,綁定到指定的ip地址端口和listen)fork創(chuàng)建的新過程稱為子過程)創(chuàng)建多個子過程,然后與accept進行新連接。這時,客戶機可以啟動與nginx的連接。
nginx當然也可以作為客戶機要求其他server的數(shù)據(jù)。這時,與其他server創(chuàng)建的連接也被封裝在ngx_connection_t中。如果沒有堵塞,為socket設(shè)置屬性。在連接之后,添加讀寫事件,調(diào)用ct/read/write,并在連接結(jié)束時釋放ngx_connection_t。
當nginx實現(xiàn)時,通過連接池進行管理。每個工人過程都有一個獨立的連接池,并且工人連接量很大。連接池中保存的并非真正的連接,而是worker_connections大小的ngx_contiont結(jié)構(gòu)。與此同時,nginx將所有閑置的ngx_connections保存在一個鏈上的free_ction_t中。每獲得一次連接,從空閑連接表中取出一次,放回空閑連接表使用。
另外,這個值是指每個工人在工作過程中能夠建立的最大連接數(shù),所以nginx能夠建立的最大連接數(shù),應(yīng)該是工人*工人_connections。這里提到的當然是最大連接數(shù),對于HTTP請求本地資源,可以支持的并發(fā)數(shù)上限是worker_conections*worker_proceseseseseses,如果使用HTTP作為反向代理,則上限是worker_conner_prorker_prorkes/2。因為每個并發(fā)器與客戶建立連接,所以占用了兩個。
二、Nginx典型應(yīng)用場景
在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,負載平衡技術(shù)為擴大網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、增強網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)靈活性和可用性提供了廉價、高效、透明的方法。
其內(nèi)容包括兩個方面:一是在多個節(jié)點設(shè)備上分配大量并發(fā)訪問或數(shù)據(jù)流,以減少用戶等待響應(yīng)的時間。二是在多個節(jié)點設(shè)備上分配單個負載,每個節(jié)點設(shè)備處理后總結(jié)處理結(jié)果,返回給用戶,大大提高了系統(tǒng)的處理能力。
以上我們?yōu)榇蠹曳窒砹耸裁词荖ginx的問題,也回答了大家比較關(guān)心的Nginx如何處理請求以及Nginx典型應(yīng)用場景的問題,如果您想了解更多相關(guān)信息,請您繼續(xù)關(guān)注中培偉業(yè)。