{eval=Array;=+count(Array);}
說(shuō)起Nginx相信很多人都用過(guò)這款Web服務(wù)器軟件,Nginx是一款輕量級(jí)的Web服務(wù)器和反向代理及郵件服務(wù)器,相較于其它Web服務(wù)器,Nginx最大的特點(diǎn)就是:占用內(nèi)存資源少、并發(fā)高。就國(guó)內(nèi)來(lái)說(shuō),我們所熟知的大型互聯(lián)網(wǎng)站都用了Nginx,如:淘寶、ucloud、京東、網(wǎng)易等等。
正常情況下,Nginx都是部署在Linux內(nèi)核系統(tǒng)下的,不少微軟系開(kāi)發(fā)同學(xué)可能就要問(wèn)了,Nginx能否部署在Windows系統(tǒng)上呢?
Nginx是由C語(yǔ)言開(kāi)發(fā)出來(lái)的,雖然Nginx絕大多數(shù)都是部署在Linux/Unix類系統(tǒng)下,但Nginx也是支持Windows系統(tǒng)的。
如果需要在Windows系統(tǒng)下安裝Nginx,可以去Nginx官網(wǎng)下載Windows版本的Nginx即可。
都說(shuō)Nginx支持高并發(fā),那Nginx為什么可以支持高并發(fā)呢?這就要看看Nginx的實(shí)現(xiàn)原理了:
1、多進(jìn)程單線程的工作模式
Nginx啟動(dòng)后,會(huì)生成一個(gè)master進(jìn)程和多個(gè)獨(dú)立的worker進(jìn)程(獨(dú)立的worker進(jìn)程可避免進(jìn)程間的影響)。master進(jìn)程接收信號(hào)同時(shí)監(jiān)控worker進(jìn)程的運(yùn)行狀態(tài),當(dāng)worker進(jìn)程掛了后會(huì)自動(dòng)啟動(dòng)新的worker進(jìn)程。
2、epoll事件模型
說(shuō)epoll模型前要了解下什么是IO多路復(fù)用,所謂的“IO多路復(fù)用”其實(shí)是指多個(gè)描述符的I/O操作都能在一個(gè)線程內(nèi)并發(fā)交替地順序完成。
IO多路復(fù)用常用模型有:select、poll、epoll等,在這其中epoll性能最好(大家只要記住epoll性能好就行了)。
雖然Nginx官方提供了Windows版的Nginx,但是Windows版的Nginx都屬于Beta版本,在功能及性能上都比不上Linux/Unix版的Nginx。
為什么這樣說(shuō)呢?
因?yàn)閃indows不支持epoll模型,這樣一來(lái)Nginx也無(wú)法使用epoll模型,并發(fā)能力也就差了。
以上就是我的觀點(diǎn),對(duì)于這個(gè)問(wèn)題大家是怎么看待的呢?歡迎在下方評(píng)論區(qū)交流 ~ 我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),歡迎關(guān)注我了解更多科技知識(shí)!
很高興回答你的問(wèn)題我是林創(chuàng)云,如果我的回答對(duì)你有幫助歡迎給我評(píng)論留言或者點(diǎn)贊加個(gè)關(guān)注!
相信很多人都聽(tīng)過(guò)nginx,這個(gè)小巧的東西慢慢地在吞食apache和IIS的份額。
nginx官方都發(fā)行了windows版本,這肯定是對(duì)windows認(rèn)可的?只是更多的人是選擇在更穩(wěn)定的linux下運(yùn)行nginx。
windows運(yùn)行nginx肯定是可以的,只是相對(duì)linux差了一點(diǎn)點(diǎn)。
都說(shuō)nginx好,為啥好,主要利用到了linux的特性epoll。這里不再?gòu)?fù)述他的優(yōu)點(diǎn)。主要說(shuō)nginx,因?yàn)閑poll,nginx才可以做到高并發(fā),低內(nèi)存。而windows呢。他并不具備epoll功能,所以nginx的殺手锏,再windows下并不起作用,只能用select模型。一個(gè)無(wú)法發(fā)揮其優(yōu)勢(shì)的軟件,我們還會(huì)這樣部署嗎?因而win下最好的還是iis,apache。如果win下部署,可以用iis的不推薦其他軟件。畢竟是親兒子。肯定系統(tǒng)有優(yōu)化,而且事實(shí)證明確實(shí)。
下面有官方截圖和文字翻譯
nginx for Windows版本使用本機(jī)Win32 API(而不是Cygwin仿真層)。當(dāng)前只使用select()連接處理方法,因此不應(yīng)期望高性能和可伸縮性。由于這個(gè)和其他一些已知的問(wèn)題,nginx for Windows版本被認(rèn)為是beta版本。目前,除了XSLT過(guò)濾器、圖像過(guò)濾器、GeoIP模塊和嵌入式Perl語(yǔ)言之外,它提供了與UNIX版nginx幾乎相同的功能。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答