1. 程式人生 > >《商城專案02》--用Nginx實現反向代理和負載均衡

《商城專案02》--用Nginx實現反向代理和負載均衡

一, Nginx的安裝

1, 下載解壓安裝

(這裡提供一個1.8.0的windows版本: 

連結:https://pan.baidu.com/s/1Cf0sbrlUuc15OKDQ36J9mQ  提取碼:y5z5)

2, 啟動測試

雙擊nginx.exe  -->可能會出現閃退, 開啟工作管理員, 如果出現nginx.exe即ok, 否則檢視日誌找找原因

3, 測試訪問

url:  localhost(預設80埠), 出現如下歡迎頁即ok!

## 備註:  對應埠可自定義(預設80)  nginx-1.8.0/conf/nginx.conf

 

二, Nginx的基本用法

1, 域名解析

這裡以阿里為例, 現在需要實現對www.alibaba.com這個域名的解析, 讓解析後再訪問該網址時展示nginx的歡迎頁面(可自定義)

1.1 訪問阿里主頁 www.alibaba.com

1.2  新增域名解析

找到本地路徑    C:\Windows\System32\drivers\etc\hosts

新增一行:  127.0.0.1  www.alibaba.com, 儲存檔案, 有時候需要重啟才能生效

1.3 再次訪問 

www.alibaba.com , 解析之後實際訪問的是127.0.0.1:80

若頁面顯示nginx-1.8.0/html/index.html的歡迎頁面即域名解析ok

 

2, 反向代理

2.1 什麼是正向代理和反向代理

        個人簡單的理解就是, 正向代理針對客戶端, 代理上網; 反向代理針對服務端, 對不同的請求進行自定義轉發

2.2  實際應用

需求: 現在需要對www.sina.com這個請求進行轉發, 讓它訪問指定的某應用

實現: 只需改對應的配置檔案即可(nginx-1.8.0\conf\nginx.conf)

配置之後, 測試訪問www.sina.com, 這時候訪問的就是本地8082(可自定義啟動本地某應用)對應的應用; 能成功訪問即ok

2.3  負載均衡

需求: 一般情況下, 應用不會只部署在一臺伺服器上, 至少一主一備兩臺, 這時候對於www.sina.com這個請求, 需要實現隨機訪問主備兩臺伺服器上的該應用;

實現: 在反向代理基礎上新增備機應用的路徑即可, weight引數對應權重, 此處為2即表示對於眾多請求, 訪問8090服務兩次, 接著訪問8082服務一次, 如此迴圈往復交替進行

當然前提是: 1, 修改配置後的nginx已成功啟動;   2, 對應的應用已成功啟動