制作花燈百度刷排名優(yōu)化軟件
文章目錄
- 1、Nginx 簡介
- 1.1 Nginx 概述
- 1.2 Nginx 作為 web 服務(wù)器
- 1.3 正向代理
- 1.4 反向代理
- 1.5 負(fù)載均衡
- 1.6 動靜分離
【尚硅谷】尚硅谷Nginx教程由淺入深
志不強(qiáng)者智不達(dá);言不信者行不果。
1、Nginx 簡介
1.1 Nginx 概述
Nginx (“engine x”) 是一個高性能的 HTTP 和反向代理服務(wù)器,特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上 nginx 的并發(fā)能力確實(shí)在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用 nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。
1.2 Nginx 作為 web 服務(wù)器
Nginx 可以作為靜態(tài)頁面的 web 服務(wù)器,同時還支持 CGI 協(xié)議的動態(tài)語言,比如 perl、php等,但是不支持 java。
Java 程序只能通過與 tomcat 配合完成。
Nginx 專為性能優(yōu)化而開發(fā),性能是其最重要的考量,實(shí)現(xiàn)上非常注重效率,能經(jīng)受高負(fù)載的考驗(yàn),有報告表明能支持高達(dá) 50,000 個并發(fā)連接數(shù)。
https://lnmp.org/nginx.html
1.3 正向代理
Nginx 不僅可以做反向代理,實(shí)現(xiàn)負(fù)載均衡。
還能用作正向代理來進(jìn)行上網(wǎng)等功能。
正向代理:如果把局域網(wǎng)外的 Internet 想象成一個巨大的資源庫,則局域網(wǎng)中的客戶端要訪問 Internet,則需要通過代理服務(wù)器來訪問,這種代理服務(wù)就稱為正向代理。
1.4 反向代理
反向代理,其實(shí)客戶端對代理是無感知的,因?yàn)榭蛻舳瞬恍枰魏闻渲镁涂梢栽L問,我們只需要將請求發(fā)送到反向代理服務(wù)器,由反向代理服務(wù)器去選擇目標(biāo)服務(wù)器獲取數(shù)據(jù)后,在返回給客戶端,此時反向代理服務(wù)器和目標(biāo)服務(wù)器對外就是一個服務(wù)器,暴露的是代理服務(wù)器地址,隱藏了真實(shí)服務(wù)器 IP 地址。
1.5 負(fù)載均衡
客戶端發(fā)送多個請求到服務(wù)器,服務(wù)器處理請求,有一些可能要與數(shù)據(jù)庫進(jìn)行交互,服務(wù)器處理完畢后,再將結(jié)果返回給客戶端。
這種架構(gòu)模式對于早期的系統(tǒng)相對單一,并發(fā)請求相對較少的情況下是比較適合的,成本也低。
但是隨著信息數(shù)量的不斷增長,訪問量和數(shù)據(jù)量的飛速增長,以及系統(tǒng)業(yè)務(wù)的復(fù)雜度增加,這種架構(gòu)會造成服務(wù)器相應(yīng)客戶端的請求日益緩慢,并發(fā)量特別大的時候,還容易造成服務(wù)器直接崩潰。
很明顯這是由于服務(wù)器性能的瓶頸造成的問題,那么如何解決這種情況呢?
我們首先想到的可能是升級服務(wù)器的配置,比如提高 CPU 執(zhí)行頻率,加大內(nèi)存等提高機(jī)器的物理性能來解決此問題,但是我們知道摩爾定律的日益失效,硬件的性能提升已經(jīng)不能滿足日益提升的需求了。最明顯的一個例子,天貓雙十一當(dāng)天,某個熱銷商品的瞬時訪問量是極其龐大的,那么類似上面的系統(tǒng)架構(gòu),將機(jī)器都增加到現(xiàn)有的頂級物理配置,都是不能夠滿足需求的。
那么怎么辦呢?
上面的分析我們?nèi)サ袅嗽黾臃?wù)器物理配置來解決問題的辦法,也就是說縱向解決問題的辦法行不通了,那么橫向增加服務(wù)器的數(shù)量呢?
這時候集群的概念產(chǎn)生了,單個服務(wù)器解決不了,我們增加服務(wù)器的數(shù)量,然后將請求分發(fā)到各個服務(wù)器上,將原先請求集中到單個服務(wù)器上的情況改為將請求分發(fā)到多個服務(wù)器上,將負(fù)載分發(fā)到不同的服務(wù)器,也就是我們所說的負(fù)載均衡
1.6 動靜分離
為了加快網(wǎng)站的解析速度,可以把動態(tài)頁面和靜態(tài)頁面由不同的服務(wù)器來解析,加快解析速度。
降低原來單個服務(wù)器的壓力。