一、nginx 靜態服務器
1、nginx 簡介
Nginx (engine x) 是一款輕量級的、高性能的 HTTP 和反向代理服務器,也是一個電子郵件(IMAP/POP3)和
SMTP 服務器,
2、nginx 能做什么?
- 反向代理
- 正向代理
- 負載均衡
- HTTP 服務器(包含動靜分離)
3、nginx 特點
- 開源免費,安裝簡單,配置簡潔,服務器本身的 Bugs 非常少;
- 穩定的性能,豐富的功能集、示例組態檔和低系統資源的消耗;
- 占有記憶體少,并發能力強 (能夠支持高達 50,000 個并發連接數的回應 ),
4、nginx 簡單使用
-
登錄官網 http://nginx.org/en/download.html,下載 nginx 檔案,這里下載 nginx-1.16.1
版本; -
解壓所下載檔案到指定的盤符(注:本課程解壓后的路徑為:D:\nginx-1.16.1),nginx 目錄結構如下:

-
啟動服務器,步驟:
-
打開 dos 命令視窗,切換到 nginx 的目錄下,

-
輸入啟動命令:start nginx
(注: nginx 的常用命令還有:
停止服務器:nginx.exe -s stop;
啟動不成功檢查命令:nginx.exe -t )

-
打開瀏覽器輸入網址:http://localhost:80(80 埠可以省略),可見如下圖所示資訊:

看到上面界面,說明 nginx 服務器已啟動成功!
4、nginx 運行原理
Nginx 由內核和模塊組成,其中,內核的設計非常微小和簡潔,完成的作業也非常簡單,僅僅通過查找配置
檔案將客戶端請求映射到一個 location block(location 是 Nginx 配置中的一個指令,用于 URL 匹配),而在
這個 location 中所配置的每個指令將會啟動不同的模塊去完成相應的作業,
Nginx 的模塊從結構上分為核心模塊、基礎模塊和第三方模塊: -
核心模塊:HTTP 模塊、EVENT 模塊和 MAIL 模塊
-
基礎模塊:HTTP Access 模塊、HTTP FastCGI 模塊、HHTP Proxy 模塊和 HTTP Rewrite 模塊
-
第三方模塊:HTTP Upstream Request Hash 模塊、Notice 模塊和 HttpAccess Key 模塊
打開 nginx 目錄下的 conf 目錄下的 nginx.conf,具體的關鍵配置如下:
服務器地址和埠配置,如下:
server {
listen 80; #埠號(注:80 埠經常會被其他程式占用,所以在啟動服務器之前建議大
家換個埠號,如:8086)
server_name localhost;#服務器地址,localhost 表示本機地址相當于 127.0.0.1
...
}
靜態資源配置,如下:
server{
...
location / {
root html; #nginx 目錄下的 html 目錄,可修改
index index.html index.htm; #訪問的默認資源檔案,可修改
}
...
}
二、nginx 代理
1、正向代理
- 正向代理:是一個位于客戶端和目標服務器之間的服務器,為了從目標服務器取得內容,客戶端向代理發送
一個請求并指定目標(目標服務器),然后代理向目標服務器轉交請求并將獲得的內容回傳給客戶端,客戶端必須
要進行一些特別的設定才能使用正向代理,

2、反向代理
- 反向代理:在計算機世界里,由于單個服務器的處理客戶端(用戶)請求能力有一個極限,當用戶的接入請
求蜂擁而入時,會造成服務器忙不過來的局面,可以使用多個服務器來共同分擔成千上萬的用戶請求,這些服務
器?供相同的服務,對于用戶來說,根本感覺不到任何差別,實際上是通過反向代理服務器接受客戶端的請求,
然后把請求分發給具體的服務器進行處理,然后再將服務器的回應結果回傳給代理服務器,由代理服務器反饋給 客戶端,

3、nginx 負載均衡
當一臺服務器在單位時間內的訪問量越大時,服務器壓力就越大,大到超過自身承受能力時,服務器就會崩潰,為了避免服務器崩潰,讓用戶有更好的體驗,我們通過負載均衡的方式來分擔服務器壓力,
我們可以建立很多很多服務器,組成一個服務器集群,當用戶訪問網站時,先訪問一個中間服務器,讓這個中間服務器在服務器集群中選擇一個壓力較小的服務器,然后將該訪問請求引入該服務器中,如此一來,用戶的每次訪問,都會保證服務器集群中的每個服務器壓力趨于平衡,分擔了服務器壓力,避免了服務器崩潰的情況,

4、nginx 動靜分離
1、什么是動靜分離 - 動靜分離:將專案中的 css、js、html、jpg 等靜態資源和 jsp、ftl 等動態資源分開處理的一種方式,
2、動靜分離優點 - 不同的檔案由不同的服務器來處理可以使系統架構更為清晰,維護更加方便;
- 高服務器回應速度從而增強了用戶體驗,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/299955.html
標籤:其他
上一篇:Docker私有倉庫部署之Compose搭建consul集群
下一篇:基于阿里云ESC服務器(ubuntu 18.04.5系統)利用Nginx + Gunicorn 部署的django專案流程
