烈日炎炎戰後端 Nginx(0 3萬字)

2021-10-08 21:57:17 字數 3167 閱讀 8617

1、什麼是nginx

nginx是乙個高效能的反向**伺服器,他是乙個非常高效的反向**、負載平衡,他可以處理2-3萬併發連線數,官方監測能支援5萬併發

2、為什麼要用nginx

跨平台、配置簡單、方向**、高併發連線:處理2-3萬併發連線數,官方監測能支援5萬併發,記憶體消耗小:開啟10個nginx才佔150m記憶體 ,nginx處理靜態檔案好,耗費記憶體少,

而且nginx內建的健康檢查功能:如果有乙個伺服器宕機,會做乙個健康檢查,再傳送的請求就不會傳送到宕機的伺服器了。重新將請求提交到其他的節點上。

使用nginx的話還能:

節省寬頻:支援gzip壓縮,可以新增瀏覽器本地快取

穩定性高:宕機的概率非常小

接收使用者請求是非同步的

3、為什麼nginx效能這麼高

因為他的事件處理機制:非同步非阻塞事件處理機制:運用了epoll模型,提供了乙個佇列,排隊解決

4、nginx怎麼處理請求的

nginx接收乙個請求後,首先由listen和server_name指令匹配server模組,再匹配server模組裡的location,location就是實際位址

5、什麼是正向**和反向**

1、正向**就是乙個人傳送乙個請求直接就到達了目標的伺服器

2、反方**就是請求統一被nginx接收,nginx反向**伺服器接收到之後,按照一定的規則分發給了後端的業務處理伺服器進行處理了

6、使用「反向**伺服器的優點是什麼?

反向**伺服器可以隱藏源伺服器的存在和特徵。它充當網際網路雲和web伺服器之間的中間層。這對於安全方面來說是很好的,特別是當您使用web託管服務時。

7、nginx的優缺點

優點:1.佔記憶體小,可實現高併發連線,處理響應快

2.可實現http伺服器、虛擬主機、方向**、負載均衡

3.nginx配置簡單

4.可以不暴露正式的伺服器ip位址

缺點:動態處理差:nginx處理靜態檔案好,耗費記憶體少,但是處理動態頁面則很雞肋,現在一般前端用nginx作為反向**抗住壓力,

8、如何用nginx解決前端跨域問題?

使用nginx**請求。把跨域的介面寫成調本域的介面,然後將這些介面**到真正的請求位址。

9、限流怎麼做的,演算法是什麼,(限制請求速度)

nginx限流就是限制使用者請求速度,防止伺服器受不了

限流有3種,我這只寫了最平常的一種(限制訪問頻率(正常流量))

1、限制訪問頻率(正常流量)

2、限制訪問頻率(突發流量)

3、限制併發連線數

1、限制訪問頻率(正常流量):限制乙個使用者傳送的請求,我nginx多久接收乙個。

#定義限流維度,乙個使用者一分鐘乙個請求進來,多餘的全部漏掉

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/m;

#繫結限流維度

server}

1r/s代表1秒乙個請求1r/m一分鐘接收乙個請求

(此流也叫做漏桶流,多餘的請求全部不要,漏掉)

10、為什麼要做動靜分離?

nginx是當下最熱的web容器,**優化的重要點在於靜態化**,**靜態化的關鍵點則是是動靜分離,動靜分離是讓動態**裡的動態網頁根據一定規則把不變的資源和經常變的資源區分開來,動靜資源做好了拆分以後,我們則根據靜態資源的特點將其做快取操作。

讓靜態的資源只走靜態資源伺服器,動態的走動態的伺服器

nginx的靜態處理能力很強,但是動態處理能力不足,因此,在企業中常用動靜分離技術。

對於靜態資源比如,js,css等檔案,我們則在反向**伺服器nginx中進行快取。這樣瀏覽器在請求乙個靜態資源時,**伺服器nginx就可以直接處理,無需將請求**給後端伺服器tomcat。

若使用者請求的動態檔案,比如servlet,jsp則**給tomcat伺服器處理,從而實現動靜分離。這也是反向**伺服器的乙個重要的作用。

11、怎麼做的動靜分離

只需要指定路徑對應的目錄。location/可以使用正規表示式匹配。並指定對應的硬碟中的目錄。如下:(操作都是在linux上)

location /image/

1、建立目錄

mkdir /usr/local/static/image

2、進入目錄

cd /usr/local/static/image

3、放一張**上去#

4、重啟 nginx

sudo nginx -s reload

5、開啟瀏覽器 輸入 server_name/image/1.jpg 就可以訪問該靜態了

12、nginx負載均衡的演算法怎麼實現的?策略有哪些?

為了避免伺服器崩潰,大家會通過負載均衡的方式來分擔伺服器壓力。將對臺伺服器組成乙個集群,當使用者訪問時,先訪問到乙個**伺服器,再由**伺服器將訪問分發到壓力更小的伺服器。

nginx負載均衡實現的策略有以下五種:

(1) 輪詢(預設)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端某個伺服器宕機,能自動剔除故障系統。

upstream backserver

(2) 權重 weight

weight的值越大分配到的訪問概率越高,主要用於後端每台伺服器效能不均衡的情況下。其次是為在主從的情況下設定不同的權值,達到合理有效的地利用主機資源。

upstream backserver

權重越高,在被訪問的概率越大,如上例,分別是20%,80%。

(3) ip_hash( ip繫結)

每個請求按訪問ip的雜湊結果分配,使來自同乙個ip的訪客固定訪問一台後端伺服器,並且可以有效解決動態網頁存在的session共享問題

upstream backserver

(4) fair(第三方外掛程式)

必須安裝upstream_fair模組。

對比 weight、ip_hash更加智慧型的負載均衡演算法,fair演算法可以根據頁面大小和載入時間長短智慧型地進行負載均衡,響應時間短的優先分配。

upstream backserver

哪個伺服器的響應速度快,就將請求分配到那個伺服器上。

(5) url_hash(第三方外掛程式)

必須安裝nginx的hash軟體包

按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,可以進一步提高後端快取伺服器的效率。

upstream backserver

烈日炎炎戰後端 Git(0 1萬字)

1.git是什麼 git它是乙個免費開源的分布式版本控制系統,你可以使用git提高我們處理一些大大小小的專案所有檔案,可以說是提高團隊開發效率神器.2.git命令列入門簡易的命令列入門教程 git 全域性設定 git config global user.name 徐明曉 git config gl...