回覆列表
-
1 # 網路圈
-
2 # 萬能擼Sir
都說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幾乎相同的功能。
-
3 # 林創雲
相信很多人都聽過nginx,這個小巧的東西慢慢地在吞食apache和IIS的份額。
nginx官方都發行了windows版本,這肯定是對windows認可的?只是更多的人是選擇在更穩定的linux下執行nginx。
windows執行nginx肯定是可以的,只是相對linux差了一點點。
說起Nginx相信很多人都用過這款Web伺服器軟體,Nginx是一款輕量級的Web伺服器和反向代理及郵件伺服器,相較於其它Web伺服器,Nginx最大的特點就是:佔用記憶體資源少、併發高。就國內來說,我們所熟知的大型網際網路站都用了Nginx,如:淘寶、騰訊、京東、網易等等。
正常情況下,Nginx都是部署在Linux核心系統下的,不少微軟系開發同學可能就要問了,Nginx能否部署在Windows系統上呢?
Nginx支援Linux及Windows等多個系統Nginx是由C語言開發出來的,雖然Nginx絕大多數都是部署在Linux/Unix類系統下,但Nginx也是支援Windows系統的。
如果需要在Windows系統下安裝Nginx,可以去Nginx官網下載Windows版本的Nginx即可。
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效能好就行了)。
Windows版的Nginx效能及伸縮性較差雖然Nginx官方提供了Windows版的Nginx,但是Windows版的Nginx都屬於Beta版本,在功能及效能上都比不上Linux/Unix版的Nginx。
為什麼這樣說呢?
因為Windows不支援epoll模型,這樣一來Nginx也無法使用epoll模型,併發能力也就差了。