關(guān)于nginx的安裝我就不多說了,網(wǎng)上一搜一大把
需要注意的是,nginx在1.9版本之前是只能配置http協(xié)議的,不接受tcp協(xié)議的代理,所以nginx最常見的功能是服務(wù)器的負(fù)載均衡配置,大致流程如下: (推薦學(xué)習(xí):nginx教程)
以TONCAT 的web服務(wù)器舉例:
Nginx的作用主要就是分發(fā)請(qǐng)求,減少單個(gè)Tomcat的壓力,從而達(dá)到提高服務(wù)器承載請(qǐng)求的能力(也就是能夠處理高并發(fā)的情況服務(wù)器不會(huì)癱瘓)
使用Nginx配置mysql負(fù)載均衡與上述差不多,只不過TOMCAT將不再連接同一個(gè)數(shù)據(jù)庫服務(wù)器,而是連接nginx,nginx分發(fā)請(qǐng)求給不同的數(shù)據(jù)庫服務(wù)器。
需要注意的是,這種情況下,我為了保證TOMCAT拿到的數(shù)據(jù)是正確的,需要保證不同數(shù)據(jù)庫之間的數(shù)據(jù)是同步的,我這次應(yīng)用中使用的是mysql自帶的同步功能,設(shè)置為主主同步(實(shí)際上就是多個(gè)主從同步)
mysql負(fù)載均衡的配置也是十分簡單:
在nginx.conf文本最后一行添加下述代碼即可:
stream { server { listen 3306; proxy_pass db; } upstream db { server 192.168.18.130:3305; server 192.168.18.129:3305; } }
需要說明的是,上述配置中監(jiān)聽了3306端口,即3306端口將被nginx占用,而mysql的默認(rèn)使用端口為3306,這將導(dǎo)致mysql無法啟動(dòng),所以需要將mysql的端口號(hào)改為其他端口(本文中將其設(shè)置成3305,這將會(huì)在mysq主主同步的博文中說明),proxy_pass即為代理地址