首先先了解下負(fù)載均衡,假設(shè)一個(gè)場(chǎng)景,如果有1000個(gè)客戶(hù)同時(shí)訪問(wèn)你服務(wù)器時(shí),而你只有一臺(tái)服務(wù)器的Nginx,且只有一個(gè)MySQL服務(wù)器,那么這些請(qǐng)求
可能會(huì)高出你的的服務(wù)器承受能力,就會(huì)down掉;
解決方法:
1.垂直升級(jí):就是增加服務(wù)器的配置,CPU,內(nèi)存等
2.水平升級(jí):添加多臺(tái)服務(wù)器來(lái)分擔(dān)服務(wù)器壓力
常見(jiàn)的負(fù)載均衡器
根據(jù)工作在的協(xié)議層劃分可劃分為:
根據(jù)軟硬件劃分:
硬件負(fù)載均衡: ?F5 的 BIG-IP
軟件負(fù)載均衡: ?TCP 層:LVS,HaProxy,Nginx
【一、Nginx能做什么】
1、http服務(wù)器。Nginx是一個(gè)http服務(wù)可以獨(dú)立提供http服務(wù)??梢宰鼍W(wǎng)頁(yè)靜態(tài)服務(wù)器。
2、虛擬主機(jī)。可以實(shí)現(xiàn)在一臺(tái)服務(wù)器虛擬出多個(gè)網(wǎng)站。例如個(gè)人網(wǎng)路使用的虛擬主機(jī)。
3、反向代理,負(fù)載均衡。當(dāng)網(wǎng)站的訪問(wèn)量達(dá)到一定程度后,單臺(tái)服務(wù)器不能滿(mǎn)足用戶(hù)的請(qǐng)求時(shí),需要用多臺(tái)服務(wù)器集群可以使用nginx做反向代理。并且多臺(tái)服務(wù)器可以平均分擔(dān)負(fù)載,不會(huì)因?yàn)槟撑_(tái)服務(wù)器
4、解決跨域問(wèn)題。
【二、安裝】
1、yum install nginx,提示No package nginx available。因?yàn)閚ginx位于第三方的yum源里面,而不在centos官方y(tǒng)um源里面,所以先yum install epel-release,待epel安裝完后,再yum install nginx
2、service nginx start 啟動(dòng)nginx,在瀏覽器輸入ip地址即可訪問(wèn)nginx的界面,如果訪問(wèn)不了,查看防火墻的訪問(wèn)狀態(tài),增加80端口訪問(wèn)
【三、負(fù)載均衡配置】
nginx啟動(dòng)之后,我們需要根據(jù)需要修改配置文件,可以先使用 ps-ef|grep nginx查看當(dāng)前使用的配置文件。
在http模塊中添加如下配置
upstream servers { server 192.168.80.1:8010 weight=10; server 192.168.80.10:8010 weight=10; }把server改為
server { listen 80; server_name test.nginx.com; location / { proxy_pass http://servers; } location /buy { proxy_pass http://172.18.144.23:5789/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }最后重啟service nginx reload
另外要切記開(kāi)放防火墻訪問(wèn)端口才可以正常訪問(wèn)的
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選