共計 1459 個字符,預計需要花費 4 分鐘才能閱讀完成。
這期內容當中丸趣 TV 小編將會給大家帶來有關什么是 Nginx,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一、Nginx 概述
Nginx (engine x) 是一個高性能的 HTTP 和反向代理服務器, 特點是占有內存少,處理高并發能力強,能經受高負載的考驗, 有報告表明能支持高達 50,000 個并發連接數。
二、Nginx 應用場景 2.1、Nginx 作為 web 服務器
Nginx 可以作為靜態頁面的 web 服務器,同時還支持 CGI 協議的動態語言,比如 perl、php 等,但是不支持 java
2.2、Nginx 作為正向代理服務器
正向代理:也就是傳說中的代理, 他的工作原理就像一個跳板。簡單地說, 我是一個用戶, 我訪問不了某網站, 但是我能訪問一個代理服務器, 這個代理服務器呢, 他能訪問那個我不能訪問的網站, 于是我先連上代理服務器, 告訴他我需要那個無法訪問網站的內容, 代理服務器去取回來, 然后返回給我。從網站的角度, 只在代理服務器來取內容的時候有一次記錄。結論就是,正向代理,是一個位于客戶端和原始服務器 (origin server) 之間的服務器,為了從原始服務器取得內容,客戶端向代理發送一個請求并指定目標(原始服務器),然后代理向原始服務器轉交請求并將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。
2.3、Nginx 作為反向代理服務器
反向代理,對于客戶端而言它就像是原始服務器,并且客戶端不需要進行任何特別的設置,我們只需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據后,再返回給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器 IP 地址。
2.4、Nginx 作為負載均衡服務器
客戶端發送多個請求到服務器,服務器處理請求,有一些可能要與數據庫進行交互,服務器處理完畢后,再將結果返回給客戶端。
這種架構模式對于早期的系統相對單一,并發請求相對較少的情況下是比較適合的,成本也低。但是隨著信息數量的不斷增長,訪問量和數據量的飛速增長,以及系統業務的復雜度增加,這種架構會造成服務器相應客戶端的請求日益緩慢,并發量特別大的時候,還容易造成服務器直接崩潰。很明顯這是由于服務器性能的瓶頸造成的問題,那么如何解決這種情況呢?
我們首先想到的可能是升級服務器的配置,比如提高 CPU 執行頻率,加大內存等提高機器的物理性能來解決此問題,但是我們知道摩爾定律的日益失效,硬件的性能提升已經不能滿足日益提升的需求了。最明顯的一個例子,天貓雙十一當天,某個熱銷商品的瞬時訪問量是極其龐大的,那么類似上面的系統架構,將機器都增加到現有的頂級物理配置,都是不能夠滿足需求的。那么怎么辦呢?
上面的分析我們去掉了增加服務器物理配置來解決問題的辦法,也就是說縱向解決問題的辦法行不通了,那么橫向增加服務器的數量呢? 這時候集群的概念產生了,單個服務器解決不了,我們增加服務器的數量,然后將請求分發到各個服務器上,將原先請求集中到單個服務器上的情況改為將請求分發到多個服務器上,將負載分發到不同的服務器,也就是我們所說的負載均衡
2.5、Nginx 作為靜態資源訪問服務器
把靜態 html 頁面,css 樣式,js 腳本,圖片等靜態資源放到服務器上,然后使用 Nginx 作為靜態資源訪問服務器,對外訪問地址。
上述就是丸趣 TV 小編為大家分享的什么是 Nginx 了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。