nginx是什么意思能干什么 nginx是什么意思

作者: 薔薇Nina
Nginx的產生沒有聽過Nginx?那么一定聽過它的"同行"Apache吧!Nginx同Apache一樣都是一種WEB服務器 。 基于REST架構風格 , 以統一資源描述符(Uniform Resources Identifier)URI或者統一資源定位符(Uniform Resources Locator)URL作為溝通依據 , 通過HTTP協議提供各種網絡服務 。
然而 , 這些服務器在設計之初受到當時環境的局限 , 例如當時的用戶規模 , 網絡帶寬 , 產品特點等局限并且各自的定位和發展都不盡相同 。 這也使得各個WEB服務器有著各自鮮明的特點 。
Apache的發展時期很長 , 而且是毫無爭議的世界第一大服務器 。 它有著很多優點:穩定、開源、跨平臺等等 。 它出現的時間太長了 , 它興起的年代 , 互聯網產業遠遠比不上現在 。 所以它被設計為一個重量級的 。 它不支持高并發的服務器 。 在Apache上運行數以萬計的并發訪問 , 會導致服務器消耗大量內存 。 操作系統對其進行進程或線程間的切換也消耗了大量的CPU資源 , 導致HTTP請求的平均響應速度降低 。
這些都決定了Apache不可能成為高性能WEB服務器 , 輕量級高并發服務器Nginx就應運而生了 。
俄羅斯的工程師Igor Sysoev , 他在為Rambler Media工作期間 , 使用C語言開發了Nginx 。 Nginx作為WEB服務器一直為Rambler Media提供出色而又穩定的服務 。
然后呢 , Igor Sysoev將Nginx代碼開源 , 并且賦予自由軟件許可證 。
由于:

  • Nginx使用基于事件驅動架構 , 使得其可以支持數以百萬級別的TCP連接
  • 高度的模塊化和自由軟件許可證是的第三方模塊層出不窮(這是個開源的時代啊~)
  • Nginx是一個跨平臺服務器 , 可以運行在Linux,Windows,FreeBSD,Solaris, AIX,Mac OS等操作系統上
  • 這些優秀的設計帶來的極大的穩定性
所以 , Nginx火了!
Nginx的用武之地Nginx是一款自由的、開源的、高性能的HTTP服務器和反向代理服務器;同時也是一個IMAP、POP3、SMTP代理服務器;Nginx可以作為一個HTTP服務器進行網站的發布處理 , 另外Nginx可以作為反向代理進行負載均衡的實現 。
關于代理
說到代理 , 首先我們要明確一個概念 , 所謂代理就是一個代表、一個渠道;
此時就設計到兩個角色 , 一個是被代理角色 , 一個是目標角色 , 被代理角色通過這個代理訪問目標角色完成一些任務的過程稱為代理操作過程;如同生活中的專賣店~客人到adidas專賣店買了一雙鞋 , 這個專賣店就是代理 , 被代理角色就是adidas廠家 , 目標角色就是用戶 。
正向代理
說反向代理之前 , 我們先看看正向代理 , 正向代理也是大家最常接觸的到的代理模式 , 我們會從兩個方面來說關于正向代理的處理模式 , 分別從軟件方面和生活方面來解釋一下什么叫正向代理 。
在如今的網絡環境下 , 我們如果由于技術需要要去訪問國外的某些網站 , 此時你會發現位于國外的某網站我們通過瀏覽器是沒有辦法訪問的 , 此時大家可能都會用一個操作FQ進行訪問 , FQ的方式主要是找到一個可以訪問國外網站的代理服務器 , 我們將請求發送給代理服務器 , 代理服務器去訪問國外的網站 , 然后將訪問到的數據傳遞給我們!
上述這樣的代理模式稱為正向代理 , 正向代理最大的特點是客戶端非常明確要訪問的服務器地址;服務器只清楚請求來自哪個代理服務器 , 而不清楚來自哪個具體的客戶端;正向代理模式屏蔽或者隱藏了真實客戶端信息 。 來看個示意圖(我把客戶端和正向代理框在一塊 , 同屬于一個環境 , 后面我有介紹):

nginx是什么意思能干什么 nginx是什么意思

文章插圖
客戶端必須設置正向代理服務器 , 當然前提是要知道正向代理服務器的IP地址 , 還有代理程序的端口 。 如圖 。

nginx是什么意思能干什么 nginx是什么意思

文章插圖
總結來說:正向代理 , "它代理的是客戶端" , 是一個位于客戶端和原始服務器(origin server)之間的服務器 , 為了從原始服務器取得內容 , 客戶端向代理發送一個請求并指定目標(原始服務器) , 然后代理向原始服務器轉交請求并將獲得的內容返回給客戶端 。 客戶端必須要進行一些特別的設置才能使用正向代理 。

推薦閱讀