Nginx高頻率使用功能

我將在這裡記錄Nginx時常被問到但很難說清楚的問題及實作方式,文章參考許多前輩們的文獻,在此先感謝他們的無私貢獻

林鼎淵
Dean Lin

--

相關議題

  1. 反向代理伺服器(reverse proxy)
  2. 負載平衡(load balancer)
  3. 虛擬主機(Virtual Host)

1. 反向代理伺服器(reverse proxy)

正向代理伺服器:用來解決訪問限制問題

反向代理伺服器:提供負載均衡、安全防護等作用

你可以理解為你網頁的前端實際使用server的port是3000,但是透過Nginx可以把對方80 port的連線導向3000 port,應用如下:

vi /etc/nginx/sites-enabled/default

實務上野可能會直接把它當成一個自動轉址的中介Service,像是外面所輸入的domain name實際上都是指向同一台nginx server,經過這台nginx 的設定分析過後再導向真正的server

2. 負載平衡(load balancer)

如果一個網站的訪問量非常大,一台server已經無法負擔時,你可以透過load balance(多幾台server來分攤這些流量,當某一台server掛掉的時候你的網站還是活得很好)處理

Nginx實務上你可以根據server實際上的硬體條件去分散每個server的流量,在這裡我以透過Nginx分流到兩個server上面做解釋:

SETP 1/3 : server A的Nginx設定

vi /etc/nginx/sites-enabled/default

SETP 2/3 : server B的Nginx設定

vi /etc/nginx/sites-enabled/default

STEP 3/3 : nginx來處理負載平衡

vi /etc/nginx/sites-enabled/default

3. 虛擬主機(Virtual Host)

如果單一網站的流量太小,你會覺得他獨佔一台server有點浪費,所以除了負載平衡(load balance)這種導流量的做法外,你也可以讓一台server在不同的port開啟多個服務

參考資源:使用 Nginx 做 Load BalancerNginx簡介正向代理和反向代理解釋

▶︎ 如果這篇文章有幫助到你1. 可以點擊下方「Follow」來追蹤我~
2. 可以對文章拍手讓我知道 👏🏻
你們的追蹤與鼓勵是我繼續寫作的動力 🙏🏼▶︎ 如果你對工程師的職涯感到迷茫1. 也許我在iT邦幫忙發表的系列文可以給你不一樣的觀點 💡
2. 也歡迎您到書局選購支持,透過豐富的案例來重新檢視自己的職涯

--

--

林鼎淵
Dean Lin

職涯中培育過多名工程師,🧰 目前在外商公司擔任 Software Specialist |✍️ 我專注寫 (1)最新技術 (2)團隊合作 (3)工程師職涯的文章,出版過 5 本專業書籍|👏🏻 如果對這些主題感興趣,歡迎點擊「Follow」來關注我~