400-638-8808
|
微信公眾號(hào)








穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無(wú)阻

協(xié)同辦公 資源管理

超大郵件 超級(jí)功能

智能反垃圾郵件技術(shù)
易管理 免維護(hù)

微信掃一掃 關(guān)注"天下數(shù)據(jù)"商品一律九折
![]()
搜索"朗玥科技"關(guān)注,了解最新優(yōu)惠

首先我們先了解一下Nginx是什么。
Nginx ("engine x") 是一個(gè)高性能的HTTP和反向代理 服務(wù)器,特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的 并發(fā)能力確實(shí)在同類(lèi)型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,中國(guó) 大陸使用nginx網(wǎng)站用戶(hù)有:百度、京東、新浪、網(wǎng)易、 騰訊、淘寶等。
首先Nginx 不是web服務(wù)器 ,它最主要的功能有三個(gè) “反向代理”,“負(fù)載均衡”,“動(dòng)靜分離”,接下來(lái)我們會(huì)主要圍繞這三個(gè)功能講解。說(shuō)道服務(wù)器,肯定有小伙伴能想到Tomcat,那么Nginx和Tomcat是什么關(guān)系? Tomcat服務(wù)器不是web服務(wù)器,Nginx是代理服務(wù)器,兩者功能不同,而且Nginx可以作為靜態(tài)頁(yè)面的web服務(wù)器,同時(shí)還支持CGI協(xié) 議的動(dòng)態(tài)語(yǔ)言,比如perl、php等。但是不支持java。 Java程序只能通過(guò)與tomcat配合完成。所以Nginx和Tomcat算是合作關(guān)系。
下面我們主要講Nginx的三大功能:
一、反向代理(即代理服務(wù)端)
說(shuō)道反向代理,那么我么先看什么是正向代理。

正向代理即代理客戶(hù)端,以圖為例,我們要訪(fǎng)問(wèn)Google,因?yàn)橛蟹阑饓Φ拇嬖,我們是不能訪(fǎng)問(wèn)到的,但是我們可以通過(guò)代理服務(wù)器訪(fǎng)問(wèn)。這種方式就是正向代理。
那什么叫反向代理呢?

如果我們有一個(gè)電商網(wǎng)站,訪(fǎng)問(wèn)并發(fā)量特別大,那么只用一臺(tái)服務(wù)器處理請(qǐng)求時(shí)遠(yuǎn)遠(yuǎn)不夠的,所以就要用到Nginx ,代理我們的服務(wù)器,把請(qǐng)求分別發(fā)到幾臺(tái)服務(wù)器處理。這就是所謂的反向代理。
二、負(fù)載均衡
我們的Nginx 會(huì)將請(qǐng)求發(fā)到幾臺(tái)服務(wù)器,那么Nginx 對(duì)應(yīng)幾臺(tái)服務(wù)器,怎么給這幾臺(tái)服務(wù)器分配請(qǐng)求呢,這就要提到負(fù)載均衡了,為了保證每臺(tái)服務(wù)器都正常運(yùn)轉(zhuǎn),我們要做負(fù)載均衡,負(fù)載均衡有很多種策略,Nginx 選擇的是輪詢(xún),即按照順序分配,分配給服務(wù)器1,分配給服務(wù)器2,分配給服務(wù)器3,分配給服務(wù)器1,以此類(lèi)推。
三、動(dòng)靜分離
大家都知道我們編寫(xiě)程序要盡可能的解耦,假設(shè)我們的程序中靜態(tài)資源域與代碼都耦合在一起,我們每改一個(gè)圖片,一個(gè)樣式都需要改代碼,這時(shí)我們的Nginx 就派上了用場(chǎng),Nginx 可以 將靜態(tài)資源與動(dòng)態(tài)資源分離。

Nginx可以將我們的靜態(tài)資源存在在一個(gè)文件系統(tǒng)中,我們需要靜態(tài)資源的時(shí)候,只需要將靜態(tài)資源的url填上,我們改變靜態(tài)資源的時(shí)候,也只需改變文件系統(tǒng)中的靜態(tài)資源,不需要改動(dòng)我們的代碼。
講了Nginx的三大功能,我么再接著講講Nginx的底層原理。
Nginx采用了master-workers的機(jī)制:


首先,對(duì)于每個(gè)worker進(jìn)程來(lái)說(shuō),獨(dú)立的進(jìn)程,不需要加鎖, 所以省掉了鎖帶來(lái)的開(kāi)銷(xiāo),同時(shí)在編程以及問(wèn)題查找時(shí),也會(huì)方 便很多。 其次,采用獨(dú)立的進(jìn)程,可以讓互相之間不會(huì)影響,一個(gè)進(jìn)程 退出后,其它進(jìn)程還在工作,服務(wù)不會(huì)中斷,master進(jìn)程則很快啟 動(dòng)新的worker進(jìn)程。當(dāng)然,worker進(jìn)程的異常退出,肯定是程序有 bug了,異常退出,會(huì)導(dǎo)致當(dāng)前worker上的所有請(qǐng)求失敗,不過(guò)不 會(huì)影響到所有請(qǐng)求,所以降低了風(fēng)險(xiǎn)。
當(dāng)請(qǐng)求過(guò)來(lái)時(shí),會(huì)通知到我們的master,master會(huì)通知worker,所有worker會(huì)爭(zhēng)搶這個(gè)請(qǐng)求,所以Nginx效率很高。那么我們要設(shè)置多少個(gè)worker, Nginx 同redis類(lèi)似都采用了io多路復(fù)用機(jī)制,每個(gè) worker都是一個(gè)獨(dú)立的進(jìn)程,但每個(gè)進(jìn)程里只有一個(gè)主線(xiàn) 程,通過(guò)異步非阻塞的方式來(lái)處理請(qǐng)求, 即使是千上萬(wàn)個(gè) 請(qǐng)求也不在話(huà)下。每個(gè)worker的線(xiàn)程可以把一個(gè)cpu的性 能發(fā)揮到極致。 所以worker數(shù)和服務(wù)器的cpu數(shù)相等是最為適宜的。設(shè) 少了會(huì)浪費(fèi)cpu,設(shè)多了會(huì)造成cpu頻繁切換上下文帶來(lái)的損耗。
產(chǎn)品與服務(wù)
香港服務(wù)器 香港高防服務(wù)器 美國(guó)服務(wù)器 韓國(guó)服務(wù)器 新加坡服務(wù)器 日本服務(wù)器 臺(tái)灣服務(wù)器云服務(wù)器
香港云主機(jī) 美國(guó)云主機(jī) 韓國(guó)云主機(jī) 新加坡云主機(jī) 臺(tái)灣云主機(jī) 日本云主機(jī) 德國(guó)云主機(jī) 全球云主機(jī)高防專(zhuān)線(xiàn)
海外高防IP 海外無(wú)限防御 SSL證書(shū) 高防CDN套餐 全球節(jié)點(diǎn)定制 全球?qū)>(xiàn)GPLC關(guān)于我們
關(guān)于天下數(shù)據(jù) 數(shù)據(jù)招商加盟 天下數(shù)據(jù)合作伙伴 天下數(shù)據(jù)團(tuán)隊(duì)建設(shè) 加入天下數(shù)據(jù) 媒體報(bào)道 榮譽(yù)資質(zhì) 付款方式關(guān)注我們
微信公眾賬號(hào)
新浪微博
天下數(shù)據(jù)手機(jī)站 關(guān)于天下數(shù)據(jù) 聯(lián)系我們 誠(chéng)聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊(cè) 網(wǎng)站地圖
天下數(shù)據(jù)18年專(zhuān)注海外香港服務(wù)器、美國(guó)服務(wù)器、海外云主機(jī)、海外vps主機(jī)租用托管以及服務(wù)器解決方案-做天下最好的IDC服務(wù)商
《中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證》 ISP證:粵ICP備07026347號(hào)
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運(yùn)營(yíng))聯(lián)合版權(quán)
深圳總部:中國(guó).深圳市南山區(qū)深圳國(guó)際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號(hào)建安商業(yè)大廈7樓
7×24小時(shí)服務(wù)熱線(xiàn):4006388808香港服務(wù)電話(huà):+852 67031102
本網(wǎng)站的域名注冊(cè)業(yè)務(wù)代理北京新網(wǎng)數(shù)碼信息技術(shù)有限公司的產(chǎn)品