一、負載均衡
當一臺服務器的單位時間內的訪問量越大的時候,服務器的壓力會越大。當一臺服務器壓力大得超過自身的承受能力的時候,服務器會崩潰。為了避免服務器崩潰,讓用戶有更好地體驗,我們通常通過負載均衡的方式來分擔服務器的壓力。
那么什么是負載均衡呢?我們通過建立很多個服務器,把這些服務器組成一個服務器集群,然后,當用戶訪問我們網站的時候,先訪問一個中間服務器,再讓這個中間服務器在服務器集群中選擇一個壓力較小的服務器,然后將該訪問請求引入該選擇的服務器。
這樣,用戶的每次訪問,都會保證服務器集群中的每個服務器的壓力趨于平衡,分擔了服務器壓力,避免了服務器崩潰的情況。負載均衡就是采用反向代理的思想。
二、Nginx中負載均衡的實現
Nginx是一款可以通過反向代理實現負載均衡的服務器,使用Nginx服務實現負載均衡的時候,用戶的訪問首先會訪問到Nginx服務器,然后Nginx服務器再從服務器集群表中選擇壓力較小的服務器,然后將該訪問請求引向該服務器。若服務器集群中的某個服務器崩潰,那么從待選服務器列表中將該服務器刪除,也就是說一個服務器假如崩潰了,那么Nginx就肯定不會將訪問請求引入該服務器了。
1、創建fzjh.conf配置文件
在/usr/local/nginx/conf下創建fzjh.conf文件,文件內容如下:
user??nobody; worker_processes??2; events?{ ????worker_connections??1024; } http{ ???#=upstream設置負載均衡的待選服務器列表,在運行中如果有服務器崩潰那該服務器就會在該列表中移除 ????upstream?mypro{ ????????server?219.133.55.36;#中國萬維網 ????????server?115.239.210.27;#百度的ip ????} ????server{ ????????listen?8080; ????????#======?對ngnix更目錄做負載均衡=== ????????location?/?{ ???????????#==選擇要代理的服務器要與upstream對應========== ????????????proxy_pass?http://mypro; ????????} ????} }
2、加載fzjh.conf配置文件
執行命令:
?/usr/local/nginx/sbin/nginx?-c?/usr/local/nginx/conf/fzjh.conf
3、測試是否成功??
在這里我們的負載均衡待選服務器列表是百度和中國萬維網,也就說我們訪問我的主機名+8080 就可以進行測試,如果頁面在百度與中國萬維網中切換,就表示成功。
本文來自Nginx使用教程欄目:http://www.php.cn/nginx/