發(fā)布于:2020-12-19 19:04:29
0
640
0
如果您的網(wǎng)站性能不佳,使用Nginx可能是您的解決方案。與某些Web服務(wù)器不同,Nginx并不是Apache的替代品,但是將此備用Web服務(wù)器集成到您的操作中可以成為解決Web性能問(wèn)題的有力解決方案。這只是我們嘗試解決Web性能問(wèn)題時(shí)使用的三種基本部署方法的概述。無(wú)論您將Nginx用作代理服務(wù)器還是直接提供流量,適當(dāng)?shù)募啥伎梢燥@著提高網(wǎng)站性能。
Nginx是一種Web服務(wù)器,有望在當(dāng)今可用的所有Web服務(wù)器中實(shí)現(xiàn)最高性能,最低內(nèi)存占用。根據(jù)Netcraft,它是當(dāng)今使用的第三大最受歡迎的Web服務(wù)器,約占11%的市場(chǎng)份額。Nginx的易用性,高性能和可擴(kuò)展性使其人氣迅速上升。在我們的使用中,Nginx用作代理服務(wù)器或提供靜態(tài)內(nèi)容時(shí)效果很好。
在今年早些時(shí)候,Nginx從其開(kāi)源社區(qū)支持的根基成長(zhǎng)為一種新的商業(yè)支持選項(xiàng)。它是市面上受支持最好的開(kāi)源Web服務(wù)器之一,其商業(yè)支持來(lái)自A輪300萬(wàn)美元的融資。網(wǎng)絡(luò)上一些知名的公司,例如Facebook,Groupon,Zynga和Sourceforge,在其操作中都使用Nginx Web服務(wù)器。因此,在Nginx的支持下,在商業(yè)支持和社區(qū)貢獻(xiàn)者中都擁有真正的力量。
在將任何新組件用于您的Web操作之前,您需要問(wèn):“我真的需要引入這個(gè)新軟件嗎?或者對(duì)現(xiàn)有工具進(jìn)行簡(jiǎn)單更改是否可以起作用?” 我經(jīng)常發(fā)現(xiàn)過(guò)于復(fù)雜的托管部署,其中多個(gè)Web服務(wù)器像頭奶酪一樣混合在一起。結(jié)果不令人胃口大開(kāi)(對(duì)不起主干酪迷)。
在大多數(shù)情況下,對(duì)現(xiàn)有工具進(jìn)行簡(jiǎn)單的調(diào)整可能會(huì)效果更好或效果更好。當(dāng)我們將人們轉(zhuǎn)移到新的Web主機(jī)時(shí),rackAID通常會(huì)簡(jiǎn)化部署。通過(guò)簡(jiǎn)化基礎(chǔ)架構(gòu),我們通??梢钥吹叫阅芴岣?,資源利用率更高以及服務(wù)中斷的恢復(fù)更快。
如果您決定使用Nginx,則有三種基本的部署模型:
網(wǎng)絡(luò)服務(wù)器
代理服務(wù)器
混合部署
這很簡(jiǎn)單。像Apache一樣,Nginx可以充當(dāng)Web服務(wù)器。我們主要使用Nginx來(lái)提供靜態(tài)內(nèi)容,例如圖像,F(xiàn)lash,JavaScript和CSS文件,但是您也可以運(yùn)行Ruby on Rails,PHP或其他腳本語(yǔ)言。
根據(jù)我們的經(jīng)驗(yàn),在提供靜態(tài)內(nèi)容時(shí),Nginx是Apache的出色且簡(jiǎn)便的替代品。我們的客戶使用入門(mén)級(jí)云系統(tǒng)上運(yùn)行的Nginx每月提供數(shù)百萬(wàn)個(gè)文件。
簡(jiǎn)單設(shè)置
靜態(tài)含量極佳
低內(nèi)存需求
必須學(xué)習(xí)新的配置語(yǔ)法
比Apache小的支持社區(qū)
Nginx可以用作代理服務(wù)器-反向代理可以提高技術(shù)性。當(dāng)用作代理服務(wù)器時(shí),Nginx接受初始連接,然后將流量傳遞到后端服務(wù)器。后端服務(wù)器通常使用Apache,但是您可以代理到所需的任何Web服務(wù)器。
當(dāng)用作代理時(shí),Nginx可以基于URL,IP或其他指標(biāo)來(lái)負(fù)載平衡和分段流量。它也可以用于限制請(qǐng)求的速率,過(guò)濾出不良的漫游器并用作基本的Web應(yīng)用程序防火墻。我們已經(jīng)成功地使用Nginx來(lái)阻止應(yīng)用程序級(jí)別的DDoS攻擊。
負(fù)載均衡
流量過(guò)濾
潛在增加的成本
更復(fù)雜的Web基礎(chǔ)架構(gòu)
在混合部署中,Nginx既充當(dāng)Web服務(wù)器又充當(dāng)代理服務(wù)器。通常,我們通常直接從Nginx提供靜態(tài)文件,并讓其將剩余流量代理到后端Apache服務(wù)器。由于其靈活性,這很容易做到。在此模型中,您將Nginx配置為代理服務(wù)器和Web服務(wù)器。您可以使用過(guò)濾功能將流量路由到適當(dāng)?shù)哪康牡亍?br>如果您分解一個(gè)網(wǎng)頁(yè),通常會(huì)發(fā)現(xiàn)超過(guò)90%的HTTP請(qǐng)求是針對(duì)靜態(tài)內(nèi)容的。通過(guò)直接從Nginx提供靜態(tài)內(nèi)容,您可以大大減少發(fā)送到Web服務(wù)器的請(qǐng)求數(shù)量。這種方法通常比嘗試負(fù)載均衡多個(gè)Apache服務(wù)器的成本更低。
卸載靜態(tài)內(nèi)容
更好的整體網(wǎng)絡(luò)性能
潛在增加的成本
更復(fù)雜的Web基礎(chǔ)架構(gòu)
必須管理Nginx服務(wù)器上的靜態(tài)文件(或使用NFS)
當(dāng)然,還有其他方案,但這是在Web操作中部署Nginx的3種基本方法。如果我錯(cuò)過(guò)了,請(qǐng)告訴我。
作者介紹
熱門(mén)博客推薦