Nginx 反向代理與負載均衡
什麼是反向代理
當我們有一個服務器集羣,並且服務器集羣中的每臺服務器的內容一樣的時候,同樣我們要直接從個人電腦訪問到服務器集羣服務器的時候無法訪問,必須通過第三方服務器才能訪問集羣
這個時候,我們通過第三方服務器訪問服務器集羣的內容,但是我們並不知道是哪一臺服務器提供的內容,此種代理方式稱爲反向代理
什麼是負載均衡
公司會建立很多的服務器,這些服務器組成了服務器集羣,然後,當用戶訪問網站的時候,先訪問一箇中間服務器,再讓這個中間服務器在服務器集羣中選擇一個壓力較小的服務器,然後將該訪問請求引入選擇的服務器
所以,用戶每次訪問,都會保證服務器集羣中的每個服務器壓力趨於平衡,分擔了服務器壓力,避免了服務器崩潰的情況
nginx安裝與配置
在windows下的安裝
在官網下載 Windows版本 下載地址http://nginx.org/en/download.htm
下載完成後解壓
解壓後目錄中conf是用來放Nginx的配置文件,logs日誌文件,nginx.exe是Nginx的應用程序可以通過該文件直接啓動或操作Nginx。
配置
Nginx安裝完後,就是配置文件了。nginx.conf爲Nginx的基本配置文件,它在conf文件夾下。
nginx.conf有幾個重要的參數要注意:
listen:表示當前的代理服務器監聽的端口,默認的是監聽80端口。注意,如果我們配置了多個server,這個listen要配置不一樣,不然就不能確定轉到哪裏去了。
server_name:表示監聽到之後需要轉到哪裏去,這時我們直接轉到本地,這時是直接到nginx文件夾內。
location:表示匹配的路徑,這時配置了/表示所有請求都被匹配到這裏。
root:裏面配置了root這時表示當匹配這個請求的路徑時,將會在這個文件夾內尋找相應的文件,這裏對我們之後的靜態文件伺服很有用。
index:當沒有指定主頁時,默認會選擇這個指定的文件,它可以有多個,並按順序來加載,如果第一個不存在,則找第二個,依此類推。
啓動nginx
1.啓動nginx
有很多種方法啓動nginx
(1)直接雙擊nginx.exe,雙擊後一個黑色的彈窗一閃而過
(2)打開cmd命令窗口,切換到nginx解壓目錄下,輸入命令 nginx.exe 或者 start nginx ,回車即可
2.檢查nginx是否啓動成功
直接在瀏覽器地址欄輸入網址 http://localhost:80,回車,出現歡迎界面說明啓動成功了。
nginx的配置文件是conf目錄下的nginx.conf,默認配置的nginx監聽的端口爲80,如果80端口被佔用可以修改爲未被佔用的端口即可
檢查80端口是否被佔用的命令是: netstat -ano | findstr 0.0.0.0:80 或 netstat -ano | findstr “80”
當我們修改了nginx的配置文件nginx.conf 時,不需要關閉nginx後重新啓動nginx,只需要執行命令 nginx -s reload 即可讓改動生效
3.關閉nginx
如果使用cmd命令窗口啓動nginx,關閉cmd窗口是不能結束nginx進程的,可使用兩種方法關閉nginx
(1)輸入nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx)
(2)使用taskkill taskkill /f /t /im nginx.exe
4.使用nginx代理服務器做負載均衡
我們可以修改nginx的配置文件nginx.conf 達到訪問nginx代理服務器時跳轉到指定服務器的目的,即通過proxy_pass 配置請求轉發地址,即當我們依然輸入http://localhost:80 時,請求會跳轉到我們配置的服務器
同理,我們可以配置多個目標服務器,當一臺服務器出現故障時,nginx能將請求自動轉向另一臺服務器,例如配置如下:
當服務器 localhost:8080 掛掉時,nginxnginx能將請求自動轉向服務器 192.168.101.9:8080 。上面還加了一個weight屬性,此屬性表示各服務器被訪問到的權重,weight
越高被訪問到的機率越高。
nginx配置靜態資源
將靜態資源(如jpg|png|css|js等)放在如下配置的f:/nginx-1.12.2/static目錄下,然後在nginx配置文件中做如下配置(注意:靜態資源配置只能放在 location / 中),瀏覽器中訪問 http://localhost:80/1.png 即可訪問到 f:/nginx-1.12.2/static目錄下的 1.png圖片
本文引用 https://www.cnblogs.com/jiangwangxiang/p/8481661.html