卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

nginx源碼安裝詳解 什么是源碼安裝?

什么是源碼安裝?源代碼安裝也叫編譯安裝,pagoda給的提示是安裝時間20分鐘-2小時,適合生產(chǎn)環(huán)境。源碼安裝方法是下載源碼包,然后解壓安裝。這種方法可以指定配置參數(shù),以及當特定版本的中間件(如NGI

什么是源碼安裝?

源代碼安裝也叫編譯安裝,pagoda給的提示是安裝時間20分鐘-2小時,適合生產(chǎn)環(huán)境。

源碼安裝方法是下載源碼包,然后解壓安裝。

這種方法可以指定配置參數(shù),以及當特定版本的中間件(如NGINX、PHP等。)時,可以安裝指定的插件和指定的路徑,具有很強的兼容性和穩(wěn)定性。

但是如果有1000多臺管理服務(wù)器,至少100臺服務(wù)器,同樣的環(huán)境需要同樣的軟件,那么源代碼安裝就有點捉襟見肘了。

haproxy和nginx的區(qū)別?

Nginx和Haproxy其實定位不一樣。Nginx定位為服務(wù)器,Haproxy定位為負載均衡器。

Nginx可以通過各種插件模塊支持負載均衡的功能,性能也不比haproxy弱多少,所以總有人拿這兩樣?xùn)|西做比較。其實Apache也可以通過相關(guān)模塊做負載均衡器,但是性能差很多,所以沒人用。當然,Nginx s LB功能現(xiàn)在是它的主要功能。

我看到大家對haproxy的多進程有很多誤解。特別是這里,haproxy早就支持多進程模型,但它不是Nginx的Worker Master結(jié)構(gòu),而是一個平等的多進程結(jié)構(gòu),它還支持重用端口選項。所以Nginx和Haproxy在多核利用上沒有本質(zhì)區(qū)別。

1.8以后,haproxy增加了多線程模式,現(xiàn)在推薦這個模式,在一些平臺上可以更好的利用多核。Nginx一直沒有多線程模型。而且社區(qū)似乎不打算支持它。

Nginx其實是基于服務(wù)器的功能,這是Haproxy沒有的。Haproxy很難像普通Web服務(wù)器一樣回復(fù)一個普通的HTTP請求,不大規(guī)模修改源代碼是不可能做到的。Haproxy是圍繞轉(zhuǎn)發(fā)模型設(shè)計的,整個過程都是圍繞著如何快速轉(zhuǎn)發(fā)一個請求或者回復(fù)給另一端。It 這不像服務(wù)器接受請求然后回復(fù)。

但是Nginx作為一個純LB,尤其是針對Web負載均衡器的,并沒有haproxy那么細致。Haproxy支持廣泛的ACL對象。在許多情況下,復(fù)雜的功能可以在沒有腳本的幫助下完成,而Nginx 的稍微復(fù)雜的負載平衡功能需要用腳本來完成,所以性能會差很多。

從功能的角度來看,Nginx實際上比Haproxy更多(當然不是全部免費),因為它的開發(fā)社區(qū)和定位方向比Haproxy更大更廣。Nginx上還有很多解決方案。比如WAF和haproxy都沒有更好的原生解決方案。還有就是最近對Service Mesh的支持,haproxy很難跟上。

但是基本的功能,包括HTTP2、TLS 1.3、Script、SSL/TLS offload、ocsp、SNI預(yù)加載,haproxy最新版本早就已經(jīng)支持了,甚至比Nginx還要早(HTTP2更晚,但現(xiàn)在也支持了)。另外硬件SSL卸載支持其實主要是OpenSSL的引擎支持,所以這個和大家差不多,只要兼容最新的OpenSSL就沒有問題。

haproxy的優(yōu)勢其實是轉(zhuǎn)發(fā)性能略高。因為Haproxy追求的是零拷貝的正向過程,所以代碼傾向于這方面的優(yōu)化。然而,這個優(yōu)勢現(xiàn)在被TLS/SSL的廣泛應(yīng)用抹殺了。相比0 copy節(jié)省的時間,加解密的性能占了絕大部分,所以haproxy在目前粗放的SSL環(huán)境下基本沒有優(yōu)勢。除非你想用純HTTP,也想用基于HTTP頭的復(fù)雜負載均衡功能,那么Haproxy是個不錯的選擇,否則如果只是LB,LVS性能其實更高,畢竟人在內(nèi)核。

從代碼層面來看,Nginx s的結(jié)構(gòu)化代碼和模塊化比Haproxy好很多。Haproxy代碼的模塊化一直是個大問題。內(nèi)部結(jié)構(gòu)不夠模塊化,二次開發(fā)難度大。最近才改進到1.9,但是還是有很多內(nèi)部的招數(shù)hack和混淆旗。與Nginx s的徹底模塊化,通過開發(fā)自己的模塊很容易改變或?qū)崿F(xiàn)相關(guān)功能,這是haproxy所不具備的。

從開發(fā)社區(qū)來說,Nginx比Haproxy好太多了。雖然社區(qū)歷史更久,但Haproxy一直都是無動于衷的。由于原作者的嚴格控制,一直以來貢獻者很少,也沒有模塊開發(fā)功能,所以并沒有吸引多少開發(fā)者。問題是版本更新慢,支持的新功能也慢。HTTP2的開發(fā)完全依賴原作者,所以支持進度嚴重滯后。

這篇文章好像成了對haproxy的吐槽,但我覺得我還是有些了解的,因為我在工作中接觸這兩個東西太多了,也在深度開發(fā)。目前,如果haproxy可以 t與NGINX不可比,因為它更開放,可以招募更多的貢獻者,不能完全修改架構(gòu)來支持模塊開發(fā)。

另外,Haproxy的優(yōu)勢在于免費版的功能比Nginx更實惠。對于小而差的網(wǎng)站來說,這確實是一個好處。