其實nginx官方文件有一篇文章專門介紹如何配置負載均衡,見: using nginx as http load balancer, 非常詳細。這篇部落格主要結合前後端異構專案(asp.net core webapi + angular/vue/react等),簡單總結一下nginx使用及心得。
2. 前端專案配置負載均衡
使用angular/vue/react等作為前台專案, 可以使用nginx作為web伺服器,對同乙個專案多部署幾個例項,然後按照官方文件配置負載均衡即可。
2-1. 簡單建立兩個發布目錄,每個目錄只放置簡單html標籤及內容的index.html檔案,模擬angular/vue/react等作為前台發布。為了便與觀察,兩個目錄下的index.html稍有不同。
1doctype html
>
2<
html
lang
="en"
>
3<
head
>
4<
meta
charset
="utf-8"
>
5<
meta
name
="viewport"
content
="width=device-width, initial-scale=1.0"
>
6<
title
>web pages - 1
title
>
7head
>
8<
body
>
9<
h1>web pages - 1
h1>
10body
>
11html
>
2-2. 開啟nginx配置檔案,修改如下(已刪除其他與本主題不相干配置項),重啟nginx, 將兩個**發布一下。
1server 9}
1011
server
18 }
2-3. 配置nginx負載均衡(在以上配置檔案基礎上增加以下配置)
1upstream webpages56
server
12 }
3. 後端專案配置負載均衡
後端專案(asp.net core webapi) 不能直接使用nginx作為web伺服器,需要先使用iis、kestrel部署多個例項,或者把專案部署成服務,然後才能使用nginx配置負載均衡。
3-1. 假設我們已經使用iis部署了三個web api,分別為:localhost:8087,localhost:8088,localhost:8089。和上面類似的,只需在配置檔案中相應增加upstream節點和server節點即可。
upstream webapiserver
error_page 500 502 503 504 /50x.html;
location = /50x.html
}
4. nginx官方文件中的一些其他常用參考
使用nginx前後端分離發布專案?
原理我就先不說了,直接上手 在右邊選擇download 我們選擇 nginx windows 1.14.1 然後會看到這樣乙個資料夾 我們可以用vscode開啟這個資料夾 然後開啟 conf nginx.conf檔案 找到server 把這server 裡的所有都注釋掉,然後新增這麼一段 如圖 li...
前後端分離專案
由於目前公司需要為已經存在的專案統一單點登入,而技術選型後採用的是apereo的cas。但是由於官方cas文件的混亂性 你懂得!並且其官方的例項和網上的例項教程都是基於傳統的專案 也就是非前後端分離專案 因此對於前後端分離的專案整合cas的可參考的資料就比較少,於是就有了下面的前後端分離專案基於ca...
用nginx實現前後端分離的專案的前後端訪問
現在幾乎都是前後端分析的專案,在開發和線上一般都會使用nginx做 來實現跨域和負債均衡。nginx安裝前面已經講過,現在寫寫如何配置,前端技術為vue。server location web server location web 前端 在路徑 var www html yanwei privat...