日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

nginx代理转发_学了三年的性能调优,你还不懂Nginx?怎么跳槽涨薪

發布時間:2025/3/13 Nginx 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx代理转发_学了三年的性能调优,你还不懂Nginx?怎么跳槽涨薪 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

根據 Netcraft 公布的最新的(2019年10月)Web 服務器調查報告,Nginx 的市場份額達到了 32.69%,毫無爭議地成為了最流行的 Web 服務器。這主要得益于 Nginx 在性能、穩定性和可擴展等方面優異的表現。

Nginx 以高性能著稱,為什么 Nginx 的性能這么高呢?要回答這個問題,得先從 Nginx 的進程模型說起。Nginx 是多進程的,簡單來說,Nginx 包含兩種進程:Master 和 Worker 。Master 進程是管理進程,負責控制和監控 Worker 進程:接收命令,切割日志文件,停止、重新啟動 Worker 進程;監控 Worker 進程,如果發現 Worker 進程異常退出,就重新啟動(respawn)一個新的 Worker 進程。Worker 進程是工作進程,負責處理客戶端請求。Worker 進程可以有多個,Worker 進程之間是獨立且對等的,分別競爭(epoll_wait)處理請求(這種競爭有可能發生驚群效應)。Nginx 使用了 I/O 多路復用技術,也就是說,一個 Worker 也可以同時處理成千上萬個請求。

官方測試,Nginx 單機使用 8 個核可以支撐起百萬并發。于是你興致勃勃地安裝了 Nginx,測試一看 Nginx 的 RPS 最高到十幾萬,再增加核心就沒啥作用了,增加的多了反而下降了。

說好的百萬并發呢?當然首先要說明的是: 十幾萬 RPS 已經很高了,要是我的產品能達到十幾萬 RPS,做夢都能笑醒了。但是追求極致性能是每一個有夢想的開發者的自我修養!萬一有一天用到了呢!

那么,Nginx 單機性能如何才能突破十幾萬呢?答案是,需要調優,從多個角度對 Nginx 進行調優,比如緩存、CPU 親和性、事件處理模型、IO 操作等等。如果你對高性能服務器開發感興趣,你會發現這些調優的方法正好是高性能服務器開發的關鍵原則!

Nginx的作用是什么?

(1)Nginx 是一個很強大的高性能Web服務器,在高連接并發的情況下,Nginx是Apache服務器不錯的替代品,能夠支持高達 50,000 個并發連接數的響應。

(2)Nginx作為反向代理服務器,Nginx在反向代理時,提供性能穩定,并且能夠提供配置靈活的轉發功能,Nginx可以根據不同的正則匹配,采取不同的轉發策略,比如在圖片文件結尾的走文件服務器,動態頁面走web服務器,對返回結果進行錯誤頁跳轉,異常判斷等。如果被分的服務器存在異常,他可以將請求重新轉發給另外一臺服務器,然后自動去除異常服務器。

(3)Nginx作為負載均衡服務器:Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務,也可以支持作為 HTTP代理服務器對外進行服務。

(4)Nginx作為郵件代理服務器:Nginx 同時也是一個非常優秀的郵件代理服務器(最早開發這個產品的目的之一也是作為郵件代理服務器)。

什么是反向代理

反向代理(Reverse Proxy)方式是指以==代理服務器來接受 internet 上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給 internet 上請求連接的客戶端==,此時代理服務器對外就表現為一個反向代理服務器。

首先我們理解正向代理:代理客戶端,統一請求網絡資源

正向代理是針對你的客戶端,而反向代理是針對服務器的:

這樣操作除了方便外,也更安全,便于統一安全部署,比如:加防火墻

配置反向代理

(1)修改 nginx.conf 配置文件:

worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # 配置要代理的 網址 upstream tomcat-travel{ server 192.168.245.129:8080; } # 配置 index 訪問資源 server { listen 80; server_name www.travel.com; location / { # root index; # 對應要代理的網址 proxy_pass http://tomcat-travel; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }}

(2)重新啟動 Nginx 然后用瀏覽器測試:http://www.travel.com (此域名須配置域名指向)

常見問題

在WEB服務前端配置Nginx的好處是什么?

配置Nginx服務器,最大的好處得益于反向代理以及負載均衡的功能。

反向代理

客戶端本來可以直接通過HTTP協議訪問某網站應用服務器,網站管理員可以在中間加上一個Nginx,客戶端請求Nginx,Nginx請求應用服務器,然后將結果返回給客戶端,此時Nginx就是反向代理服務器。

既然服務器可以直接HTTP訪問,為什么要在中間加上一個反向代理,不是多此一舉嗎?反向代理有什么作用?繼續往下看,下面的負載均衡、虛擬主機等,都基于反向代理實現,當然反向代理的功能也不僅僅是這些。

反向代理

負載均衡

負載均衡 建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。 負載均衡,英文名稱為 Load Balance,其意思就是分攤到多個操作單元上進行執行,例如 Web 服務器、FTP 服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。

1.將請求輪詢分配到應用服務器,也就是一個客戶端的多次請求,有可能會由多臺不同的服務器處理。

2.服務器的硬件配置可能有好有差,想把大部分請求分配給好的服務器,把少量請求分配給差的服務器,可以通過weight來控制。

負載均衡方式

配置負載均衡

(1)修改 nginx.conf 配置文件:

worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # 配置要代理的 網址 upstream tomcat-travel{ server 192.168.245.129:8080; server 192.168.245.129:8081; server 192.168.245.129:8082; } # 配置 index 訪問資源 server { listen 80; server_name www.travel.com; location / { # root index; # 對應要代理的網址 proxy_pass http://tomcat-travel; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }}

三種隨機可以訪問到:

(2)如果此時我想要一個 2:1:1 的幾率選擇:

虛擬主機

有的網站訪問量大,需要負載均衡。然而并不是所有網站都如此出色,有的網站,由于訪問量太小,需要節省成本,將多個網站部署在同一臺服務器上。

例如將www.aaa.com和www.bbb.com兩個網站部署在同一臺服務器上,兩個域名解析到同一個IP地址,但是用戶通過兩個域名卻可以打開兩個完全不同的網站,互相不影響,就像訪問兩個服務器一樣,所以叫兩個虛擬主機。虛擬主機的原理是通過HTTP請求頭中的Host是否匹配server_name來實現的,客戶端通過不同的域名訪問,根據server_name可以反向代理到對應的應用服務器。

還有別的反向代理服務器嗎?

其他反向代理服務器

文章到這里就結束了!

Nginx調優

2021馬上就要過去了,小編這里整理了一份Nginx 性能調優的思維導圖 ,還有一些微服務、SSM、 Redis、等技術真題資料,關注小編+轉發文章+私信【面試資料】獲取上述資料~ 重要的事情說三遍,轉發+轉發+轉發,一定要記得轉發哦!!!

總結

以上是生活随笔為你收集整理的nginx代理转发_学了三年的性能调优,你还不懂Nginx?怎么跳槽涨薪的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。