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