使用nginx简单实现负载均衡
只是簡單使用nginx玩玩而已,知道能這么用,但是在實際項目中并沒有實踐過,在項目不大的時候用不到,但是對于理解負載均衡來說還是可以的。
利用虛擬機安裝了三個centOS系統,然后順便裝了環境。
這里順便說一下,不需要轉三次系統,裝一個系統,配置環境完成之后,另外兩個可以使用虛擬機的克隆功能直接克隆即可,配置是完全相同的。
首先是服務器配置及當前IP地址,注意一點,為了測試方便,我把所有的防火墻都直接關閉了,但是實際中限制端口號,而不要直接關閉
服務器A:IP:192.168.0.134
服務器B:IP:192.168.0.132
服務器C:IP:192.168.0.133
主人本機使用的是Windows系統,其他系統自己看著辦,改一下本地的host,這樣瀏覽器輸入這個域名就能解析到固定你輸入的IP了
在C:\Windows\System32\drivers\etc目錄下,修改host文件
需要注意的是,host在當前目錄下面用戶是沒有修改權限的,所以你需要先復制出來到桌面,然后用記事本打開修改,然后復制回去替換。
在文件末尾加上192.168.0.134 xx.com
然后在cmd模式下ping xx.com 看是否能ping通,如果可以證明域名沒有問題了。
正在 Ping xx.com [192.168.0.134] 具有 32 字節的數據:
來自 192.168.0.134 的回復: 字節=32 時間=1ms TTL=64
來自 192.168.0.134 的回復: 字節=32 時間<1ms TTL=64
來自 192.168.0.134 的回復: 字節=32 時間<1ms TTL=64
來自 192.168.0.134 的回復: 字節=32 時間<1ms TTL=64
這個域名也只能在你本地起作用,實驗就簡單點好了。
下載nginx
http://nginx.org/en/download.html
選擇了穩定版本
然后解壓到A服務器的你喜歡的目錄下面
?
首先是在A服務器上配置nginx,軟件的安裝我都不介紹了,在最后給出安裝說明的地址,然后根據步驟一步步來就好了。
修改nginx配置中的
在server中修改以下位置
location / {
??????????? proxy_pass???????? http://xx.com;
??????????? proxy_set_header?? Host???????????? $host;
??????????? proxy_set_header?? X-Real-IP??????? $remote_addr;
??????????? proxy_set_header?? X-Forwarded-For? $proxy_add_x_forwarded_for;
??????? }
在http中加入
#--------------------------------------------------------
upstream xx.com {
??? server? 192.168.0.132:8080;
??? server? 192.168.0.133:8080;
??? server? 127.0.0.1:8080;
}
#--------------------------------------------------------
我在A服務器上裝了tomcat。默認端口是8080。
其他兩臺就不裝了,簡單的配置了一個默認的頁面
在其他兩臺服務器上面nginx配置
server{
??????? listen 8080;
??????? server_name xx.com;
??????? index index.html;
??????? root /root;
??? }
???
server {
??? listen?????? 80;
??? server_name? xx.com;
???
修改了這兩個配置之后,三臺服務器全部重新啟動nginx
然后在瀏覽器中輸入xx.com
然后刷新頁面,就會出現三臺服務器不同的頁面了。
也就是說,當我們的項目的域名被訪問的時候會根據實際情況負載均衡至3臺服務器。
我覺得實際項目中,A服務器還是不要作為項目服務器的一部分,不用tomcat部署項目,
為什么呢,雖然這樣服務器有點浪費,但是,如果部署了項目的話,這樣A服務器就有可能出現宕機,導致BC服務器均不能被訪問。
如果沒有部署服務的話,那么即使B或C任意一臺服務器宕機,A服務器會自動均衡到另一臺服務器上面。
但是一些靜態資源的獲取可以放在A上面,這樣可以減輕后面服務器的壓力,同時提高A的利用率。
下面給出安裝軟件的步驟,很多網站上都寫的很好。我就不多說了。
負載均衡大致流程轉載自:http://www.php100.com/html/program/nginx/2013/0905/5525.html
nginx配置文件詳解轉載自:http://blog.csdn.net/shimiso/article/details/8690897
nginx安裝流程轉載自:http://www.cnblogs.com/skynet/p/4146083.html(其實前面的3個不裝在測試項目中也是可以運行nginx的,可能是我之前裝過一些軟件的原因)
轉載于:https://www.cnblogs.com/linkstar/p/5777308.html
總結
以上是生活随笔為你收集整理的使用nginx简单实现负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中的map、filter、r
- 下一篇: Raspberry Pi 学习笔记之一