天天看點

Nginx系列教程(1) Nginx基本介紹和安裝入門基本介紹Nginx 的優勢Nginx 安裝:總結

基本介紹

Nginx

是一個高性能的

HTTP

和反向代理

web

伺服器,同時也提供了

IMAP/POP3/SMTP

服務。

Nginx

是由伊戈爾·賽索耶夫為俄羅斯通路量第二的

Rambler.ru

站點開發的,第一個公開版本

0.1.0

釋出于

2004

10

4

日。

Nginx

特點是占有記憶體少,并發能力強。

事實上

nginx

的并發能力确實在同類型的網頁伺服器中表現較好,一般來說,如果我們在項目中引入了

Nginx

,我們的項目架構可能是這樣:

Nginx系列教程(1) Nginx基本介紹和安裝入門基本介紹Nginx 的優勢Nginx 安裝:總結

在這樣的架構中 ,

Nginx

所代表的角色叫做負載均衡伺服器或者反向代理伺服器,所有請求首先到達

Nginx

上,再由

Nginx

根據提前配置好的轉發規則,将用戶端發來的請求轉發到某一個

Tomcat

上去。

那麼這裡涉及到兩個概念:

  • 負載均衡伺服器

就是進行請求轉發,降低某一個伺服器的壓力。負載均衡政策很多,也有很多層,對于一些大型網站基本上從

DNS

就開始負載均衡,負載均衡有硬體和軟體之分,各自代表分别是

F5

Nginx

(目前

Nginx

已經被

F5

收購),早些年,也可以使用

Apache

來做負載均衡,但是效率不如

Nginx

,是以現在主流方案是

Nginx

  • 反向代理伺服器:

另一個概念是反向代理伺服器,得先說正向代理,看下面一張圖:

Nginx系列教程(1) Nginx基本介紹和安裝入門基本介紹Nginx 的優勢Nginx 安裝:總結

在這個過程中,Google 并不知道真正通路它的用戶端是誰,它隻知道這個中間伺服器在通路它。是以,這裡的代理,實際上是中間伺服器代理了用戶端,這種代理叫做正向代理。

那麼什麼是反向代理呢?看下面一張圖:

Nginx系列教程(1) Nginx基本介紹和安裝入門基本介紹Nginx 的優勢Nginx 安裝:總結

在這個過程中,10086 這個号碼相當于是一個代理,真正提供服務的,是話務員,但是對于客戶來說,他不關心到底是哪一個話務員提供的服務,他隻需要記得 10086 這個号碼就行了。

所有的請求打到 10086 上,再由 10086 将請求轉發給某一個話務員去處理。是以,在這裡,10086 就相當于是一個代理,隻不過它代理的是話務員而不是用戶端,這種代理稱之為反向代理。

Nginx 的優勢

在 Java 開發中,Nginx 有着非常廣泛的使用,随便舉幾點:

  1. 使用 Nginx 做 靜态資源伺服器 :Java 中的資源可以分為動态和靜态,動态需要經過 Tomcat 解析之後,才能傳回給浏覽器,例如 JSP 頁面、Freemarker 頁面、控制器傳回的 JSON 資料等,都算作動态資源,動态資源經過了 Tomcat 處理,速度必然降低。對于靜态資源,例如圖檔、HTML、JS、CSS 等資源,這種資源可以不必經過 Tomcat 解析,當用戶端請求這些資源時,之間将資源傳回給用戶端就行了。此時,可以使用 Nginx 搭建靜态資源伺服器,将靜态資源直接傳回給用戶端。
  2. 使用 Nginx 做負載均衡伺服器,無論是使用 Dubbo 還是 Spirng Cloud ,除了使用各自自帶的負載均衡政策之外,也都可以使用 Nginx 做負載均衡伺服器。
  3. 支援高并發、記憶體消耗少、成本低廉、配置簡單、運作穩定等。

Nginx 安裝:

由于基本上都是在 Linux 上使用 Nginx,是以松哥這裡主要向大家展示 CentOS 7 安裝 Nginx:

  1. 首先下載下傳 Nginx

然後解壓下載下傳的目錄,進入解壓目錄中,在編譯安裝之前,需要安裝兩個依賴:

然後開始編譯安裝:

裝好之後,預設安裝位置在 :

進入到該目錄的

sbin

目錄下,執行

nginx

即可啟動

Nginx

Nginx系列教程(1) Nginx基本介紹和安裝入門基本介紹Nginx 的優勢Nginx 安裝:總結

Nginx 啟動成功之後,在浏覽器中直接通路 Nginx 位址:

Nginx系列教程(1) Nginx基本介紹和安裝入門基本介紹Nginx 的優勢Nginx 安裝:總結

看到如上頁面,表示 Nginx 已經安裝成功了。

如果修改了 Nginx 配置,則可以通過如下指令重新加載 Nginx 配置檔案:

總結

本文算是一個簡單的 Nginx 掃盲文,希望大家看完後對 Nginx 有一個基本的認知