在 Linux 操作系統(tǒng)中,反向代理充當(dāng)主機(jī)(客戶端)和服務(wù)器之間的鏈接。它接收客戶端請(qǐng)求并將它們傳遞給其他服務(wù)器,最后將服務(wù)器的響應(yīng)傳遞給客戶端,就好像它們來(lái)自代理服務(wù)器本身一樣。在本教程中,我們將向您展示什么是Nginx反向代理以及如何在您的VPS上設(shè)置它!
客戶端和服務(wù)器不斷交換信息以高效工作。通常,反向代理由網(wǎng)絡(luò)服務(wù)器使用。反向代理或網(wǎng)關(guān)在客戶端看來(lái)就像一個(gè)普通的 Web 服務(wù)器,不需要特殊配置??蛻舳税l(fā)出普通請(qǐng)求,而反向代理決定將信息傳遞到何處,將最終輸出傳遞給客戶端,就好像它是來(lái)源一樣。Nginx反向代理具有廣泛的優(yōu)勢(shì)。它是互聯(lián)網(wǎng)上使用最活躍的開源服務(wù)器之一。
使用 Nginx 反向代理的優(yōu)勢(shì)
讓我們深入探討解釋此工具為何如此受歡迎的原因:
- 它易于實(shí)施并為用戶提供針對(duì) Web 服務(wù)器攻擊(例如 DDoS 和 DoS)的高端安全性
- Nginx 反向代理有助于在多個(gè)后端服務(wù)器之間創(chuàng)建均衡負(fù)載,并為速度較慢的后端服務(wù)器提供緩存
- Nginx 不需要為來(lái)自客戶端的每個(gè) Web 請(qǐng)求設(shè)置一個(gè)新進(jìn)程。相反,默認(rèn)配置是每個(gè) CPU 包含一個(gè)工作進(jìn)程
- 可以作為HTTP、HTTPS、TCP、UDP、SMTP、IMAP、POP3等多種協(xié)議的反向代理服務(wù)器
- 它可以處理超過(guò) 10000 個(gè)連接,內(nèi)存占用很小。Nginx 可以通過(guò)單個(gè) IP 地址操作多個(gè) Web 服務(wù)器,并將每個(gè)請(qǐng)求傳遞到 LAN 中的正確服務(wù)器
- Nginx 是提高靜態(tài)內(nèi)容性能的最佳 Web 服務(wù)器之一。此外,提供緩存內(nèi)容和執(zhí)行 SSL 加密以降低 Web 服務(wù)器的負(fù)載也很有幫助
- 在通過(guò)壓縮內(nèi)容以增加加載時(shí)間來(lái)優(yōu)化內(nèi)容時(shí),它也很有幫助
- Nginx 可以在不將 JavaScript 代碼放入頁(yè)面的情況下進(jìn)行隨機(jī)實(shí)驗(yàn)或 A/B 測(cè)試。
所有這些好處只是冰山一角!您使用 Nginx 反向代理的次數(shù)越多,您會(huì)發(fā)現(xiàn)的功能就越多!
如何設(shè)置 Nginx 反向代理?
現(xiàn)在,我們將在 Apache Web 服務(wù)器前配置 Nginx。我們選擇 Apache 服務(wù)器是因?yàn)樗瞄L(zhǎng)處理動(dòng)態(tài)內(nèi)容。所以,所有的靜態(tài)內(nèi)容都將轉(zhuǎn)到 Nginx,而動(dòng)態(tài)內(nèi)容將轉(zhuǎn)到 Apache。這將通過(guò)基于處理標(biāo)準(zhǔn)優(yōu)化內(nèi)容交付來(lái)提高性能。接下來(lái),我們將 Nginx Proxy Server 的 IP 地址定義為192.xx1,將后端 Apache 服務(wù)器的 IP 地址定義為192.xx2。設(shè)置 Apache 后,我們可以繼續(xù)執(zhí)行以下步驟:
1.安裝Nginx
我們將在 Ubuntu 18.04 上使用 apt 命令:
sudo apt-get 更新
sudo apt-get 安裝 nginx
2.禁用默認(rèn)虛擬主機(jī)
安裝 Nginx 后,請(qǐng)按照以下命令禁用虛擬主機(jī):
sudo unlink /etc/nginx/sites-enabled/default
3. 創(chuàng)建 Nginx 反向代理
禁用虛擬主機(jī)后,我們需要在etc/nginx/?sites-available目錄下創(chuàng)建一個(gè)名為reverse-proxy.conf的文件來(lái)保存反向代理信息。
為此,我們應(yīng)該首先使用 cd 命令訪問(wèn)該目錄:
cd etc/nginx/sites-available/
然后我們可以使用 vi 編輯器創(chuàng)建文件:
vi 反向代理.conf
在文件中,我們需要粘貼這些字符串:
服務(wù)器 { ??? 聽80; ??? 地點(diǎn) / { ??????? proxy_pass http://192.xx2; ??? } }
在上面的命令中,重要的一點(diǎn)是代理傳遞允許通過(guò) Nginx 反向代理的請(qǐng)求傳遞到192.xx2:80,這是 Apache 遠(yuǎn)程套接字。因此,Web 服務(wù)器(Nginx 和 Apache)共享內(nèi)容。
完成后,只需保存文件并退出 vi 編輯器。您可以通過(guò)鍵入:wq來(lái)完成此操作。
要將信息傳遞給其他服務(wù)器,您可以在終端中使用ngx_http_proxy_module 。
現(xiàn)在,使用以下命令鏈接到/sites-enabled/來(lái)激活指令?:
sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
4. 測(cè)試 Nginx 和 Nginx 反向代理
最后,我們需要運(yùn)行 Nginx 配置測(cè)試并重啟 Nginx 以檢查其性能。鍵入以下命令以驗(yàn)證 Nginx 在 Linux 終端上是否正常運(yùn)行:
服務(wù) nginx 配置測(cè)試
服務(wù) nginx 重啟
請(qǐng)記住,如果您收到一個(gè)失敗的測(cè)試,那很可能表明 Apache 沒(méi)有正確設(shè)置。
結(jié)論
在 Linux 操作系統(tǒng)中設(shè)置 Nginx 反向代理有很多好處。它可以有效地提高性能并增強(qiáng)針對(duì)惡意軟件的安全性。Nginx 反向代理配置是 Linux 終端中的一個(gè)簡(jiǎn)單過(guò)程。盡管有多種安裝和配置它的方法,這完全取決于您的要求,但上面的教程簡(jiǎn)單易懂,可以幫助您開始設(shè)置反向代理。