LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

運維篇——Nginx上篇

admin
2025年8月17日 0:21 本文熱度 219

一、Nginx介紹

Nginx(發音為 "engine-x")是一款開源的、高性能的HTTP服務器和反向代理服務器,同時也提供了IMAP/POP3/SMTP的代理功能。它最初由俄羅斯的程序員Igor Sysoev開發,并于2004年首次公開發布。Nginx以其高效、穩定、低資源消耗以及高并發處理能力而聞名,被廣泛用于靜態內容服務、負載均衡、HTTP緩存、以及作為反向代理服務器來管理后端的服務請求。(ps:百度搜的)

接下來就從負載均衡、反向代理&正向代理、動靜分離三個用途給大家介紹一下。

二、Nginx 負載均衡

什么是負載均衡呢?給大家舉個貼切生活的例子,大家去超市買東西,買完后準備去結賬,前臺有三個收銀臺,但是都排在第一個收銀臺,隊伍又臭又長,一號收銀員忙的飛起,二號跟三號閑著刷手機,這時候就需要一個正義的人站出來,沒錯就是超市老板來了,把顧客一個一個分到二號跟三號收銀臺去,這樣三個收銀臺都在工作了,而且每個人也不會太累。

這里顧客就代表訪問網站的用戶,收銀臺和收銀員就是后端的服務器(處理用戶的請求),超市老板就是負載均衡(將請求分發給多個后端)

這時候肯定有聰明的小伙伴會問了,你怎么知道每臺服務器分配多少請求?我們用 Nginx做負載均衡都可以替我們去合理的分配請求。

Nginx負載均衡的方式:

1、輪詢法(默認方式)

顧名思義,就是一臺一臺服務器按順序輪轉。默認權重一樣。舉個例子,假如有三臺服務器ABC,第一個請求給了A,第二個就是B,第三個就是C,依次循環。

相關配置:

upstream yidiandian {    server yidiandian1.com; #server 后可以寫域名也可以直接寫ip    server yidiandian2.com;    server yidiandian3.com;}

2、加權輪詢

在輪詢的基礎上分配更高的權重可以獲得更的請求。舉個例子,有三個孩子,一個18歲、一個15歲、一個12歲,現在有10個箱子要搬,歲數大的會分到多點,歲數小的會分到少點,這里歲數相當于權重。權重高的可以分配到更多請求,權重低的就分配較少請求。

相關配置:

upstream yidiandian {    server yidiandian1.com weight=1# 分到的請求最少    server yidiandian2.com weight=2# 分到的請求中等    server yidiandian3.com weight=3# 分到的請求最多}

3、ip_hash

根據客戶端 IP 地址的哈希值決定將請求轉發到哪臺服務器。同一個 IP 地址的請求總是轉發到同一臺后端服務器。

相關配置:

upstream yidiandian {    ip_hash;                     # 開啟ip_hash    server yidiandian1.com;    server yidiandian2.com;    server yidiandian3.com;}

4、最少連接數

顧名思義,將請求分發給當前最少請求的服務器上。

相關配置:

upstream yidiandian {    least_conn;                   # 開啟最少連接數策略    server yidiandian1.com;    server yidiandian2.com;    server yidiandian3.com;}

上面這幾種方式都能有效地解決請求如何分配的問題,可以供用戶自行選擇。

三、Nginx 反向代理&正向代理

老樣子,什么是反向代理?什么是正向代理呢?再給大家舉兩個例子。

反向代理:**最貼切生活的,大家在某寶、某動、某夕夕上買東西,你訪問一個商品信息,這個請求首先到達了一個Nginx反向代理服務器。這個反向代理服務器根據負載均衡算法選擇一個后端的真實服務器來處理你的請求,后端服務器處理完請求后,響應會先返回給反向代理服務器,再由反向代理服務器轉發給你。整個過程中,你并不知道具體是哪個后端服務器處理了你的請求。

相關配置:

http {    upstream yidiandian {        server yidiandian1.com;        server yidiandian2.com;        server yidiandian3.com;    }    server {        listen 8090;          # 設置監聽端口,不沖突就行        location / {            proxy_pass http://yidiandian;        # 會按照上面的upstream配置的三個server之間輪詢            proxy_set_header Host $host;            proxy_set_header X-Real-IP $remote_addr;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            proxy_set_header X-Forwarded-Proto $scheme;        }    }}

正向代理:**也是比較貼切生活的,假如大家上班的時候無聊想摸魚,連著公司網絡想要訪問國外的 Facebook 或 Twitter,直接訪問的話公司網絡策略限制了你直接訪問,但是呢假如公司有正向代理服務器來訪問。你在瀏覽器配好正向代理后,訪問 Facebook,正向代理服務器代表你去訪問Facebook,并將響應返回給你。這樣,盡管直接訪問Facebook是受限的,但通過正向代理,你仍然能夠瀏覽該網站。

相關配置:

http {    server {        resolver 114.114.114.114;  # 設置DNS解析器,按自己需求進行設置,這里設置的是由中國電信提供的DNS解析器        listen 1234;  # 代理服務器監聽端口,隨便設置,不沖突就行        location / {            proxy_pass $scheme://$host$request_uri;  # 轉發請求,通過代理服務器將請求轉發給目標服務器。            proxy_set_header Host $host;             # 設置請求頭,傳遞客戶端的原始信息            proxy_set_header X-Real-IP $remote_addr;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            proxy_set_header X-Forwarded-Proto $scheme;        }    }}

從上面兩個例子我們可以了解到,反向代理可以確保沒有一臺服務器過載,并且外部用戶無法直接訪問后端服務器,隱藏了后端服務器的ip,減少了攻擊面。正向代理幫助我們繞過了網絡訪問限制,同時隱藏了我們的真實IP地址。

四、Nginx動靜分離

舉不動了,大家直接看官方的回答(ps:沒想到比較好的)

Nginx的動靜分離是一種優化Web服務器性能的技術,主要用于高效地處理靜態資源(如HTML、CSS、JavaScript和圖片文件等)和動態內容(比如由PHP、Python或其他后端語言生成的內容)。通過動靜分離,可以顯著提高網站的加載速度和用戶體驗。

動靜分離的基本思路是將靜態資源請求和動態請求分開處理:

靜態資源:對于靜態資源,可以直接由Nginx進行服務。Nginx在處理靜態文件時非常高效,因為它不需要像動態請求那樣調用外部應用服務器。

動態內容:當涉及到動態內容時,Nginx會將這些請求代理到后端的應用服務器(如Tomcat、Django、Node.js等),然后將處理結果返回給客戶端。

相關配置(來源于網上):

http {    # 定義上游服務器,即后端的應用服務器    upstream backend_app {        server 127.0.0.1:8000;  # 假設后端服務運行在本地的8000端口    }    server {        listen 80;  # 監聽HTTP的80端口        server_name example.com;  # 你的域名        # 配置靜態資源的訪問路徑        location /static/ {            alias /var/www/example/static/;  # 靜態資源的實際存放路徑        }        location /media/ {            alias /var/www/example/media/;  # 用戶上傳文件等媒體資源的存放路徑        }        # 將所有非靜態資源的請求轉發到后端的應用服務器        location / {            proxy_pass http://backend_app;            proxy_set_header Host $host;            proxy_set_header X-Real-IP $remote_addr;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            proxy_set_header X-Forwarded-Proto $scheme;        }    }}


閱讀原文:原文鏈接


該文章在 2025/8/18 18:45:47 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
一级a做视频免费观看日本 亚洲精品国偷自产在线99人热 | 日韩OL精品视频在线观看 | 亚洲中文aⅴ中文字幕 | 日本香港三级三级久久妇 | 亚洲欧美激情综合在线观看 | 在线精品亚洲精品 |