網站首頁 編程語言 正文
一、Nginx基本概念
(engine x)是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。其特點是占有內存少,并發能力強,事實上nginx
的并發能力在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。
Nginx專為性能優化而開發,性能是器最重要的考量,實現上非常注重效率,能經受高負載的考驗,據報告能支持高達50,000個并發連接數。
Nginx不僅能做反向代理,實現負載均衡;還能可以作正向代理來進行上網等功能。
二、反向代理
在客戶端(瀏覽器)配置代理服務器,通過代理服務器進行互聯網訪問。代理對象是客戶端,不知道服務端是誰。
客戶端不需要任何配置就能訪問,只需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器,獲取數據后再返回給客戶端。對外就一個服務器,暴露的是反向代理服務器地址,隱藏了真實服務器IP地址。代理對象是服務端,不知道客戶端是誰。
三、負載均衡
客戶端發送多個請求到服務器,服務器處理請求,有些可能要訪問數據庫,服務器處理完畢后再將結果返回客戶端。
這種架構模式單一,適合并發請求少的情況,但并發量大的時候如何解決?
首先可能想到升級服務器配置,但硬件的性能提升不能滿足日益增長的需求,此時想到服務器集群,增加服務器數量,然后將原先請求單個服務器的情況改為將請求分發到多個服務器上,將負載分發到多個服務器上,也就是我們講的
四、動靜分離
為了加快網站的解析速度,可以把動態頁面和靜態頁面有不同的服務器來解析,減少服務器壓力,加快解析速度。
五、原理
mater&worker
master
接收信號后將任務分配給worker進行執行,worker可有多個。
六、worker如何工作
客戶端發送一個請求到master后,worker獲取任務的機制不是直接分配也不是輪詢,而是一種爭搶的機制,“搶”到任務后再執行任務,即選擇目標服務器tomcat等,然后返回結果。
worker_connection
發送請求占用了woker兩個或四個連接數。
- 普通的靜態訪問最大并發數是:
worker_connections *worker_processes/ 2 /2/2
- 若是 HTTP 作 為反向代理來說,最大并發數量應該是
worker_connections *worker_processes/ 4 /4/4
。
當然了,worker數也不是越多越好,worker數和服務器的CPU數相等時最適宜的。
優點:
- 可以使用
nginx –s reload
熱部署,利用 nginx 進行熱部署操作 - 每個 woker 是獨立的進程,若其中一個woker出現問題,其他繼續進行爭搶,實現請求過程,不會造成服務中斷
原文鏈接:https://baijiahao.baidu.com/s?id=1677770814186358219
相關推薦
- 2023-08-15 (el-Form)操作(不使用 ts):Element-plus 中 Form 表單組件校驗規則等的
- 2023-11-12 Check failed: top_shape[j] == bottom[i]->shape(j)
- 2022-05-10 筆記本能連接 WiFi,但在瀏覽器中并不能訪問網頁的問題的四種方案;
- 2022-05-26 Flutter實現滑動塊驗證碼功能_Android
- 2022-04-11 Tomcat訪問不到web應用報錯ORA-01882: 未找到時區的解決方案
- 2022-12-05 Go方法接收者值接收者與指針接收者詳解_Golang
- 2022-11-30 Python?Django教程之實現天氣應用程序_python
- 2022-01-05 出現escript: exception error: undefined function rab
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支