快速搭建一個(gè)高可用的Nginx負(fù)載均衡器
企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),創(chuàng)新互聯(lián)建站面向各種領(lǐng)域:水電改造等網(wǎng)站設(shè)計(jì)、成都全網(wǎng)營銷推廣解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。
在網(wǎng)絡(luò)服務(wù)中,負(fù)載均衡器是一個(gè)非常重要的組件,它可以將網(wǎng)絡(luò)流量均勻分配到多個(gè)后端服務(wù)器上,從而提高系統(tǒng)的可用性、容錯(cuò)性和性能。在本文中,我們將介紹如何快速搭建一個(gè)高可用的Nginx負(fù)載均衡器。
1. 安裝Nginx
首先,我們需要安裝Nginx。在Ubuntu 18.04系統(tǒng)上,可以通過以下命令安裝:
$ sudo apt-get update$ sudo apt-get install nginx安裝完成后,可以通過以下命令檢查Nginx是否正在運(yùn)行:
$ sudo systemctl status nginx2. 配置Nginx作為負(fù)載均衡器
配置Nginx作為負(fù)載均衡器需要編輯Nginx配置文件。在Ubuntu 18.04系統(tǒng)上,Nginx的默認(rèn)配置文件為/etc/nginx/nginx.conf。我們可以通過以下命令編輯該文件:
$ sudo nano /etc/nginx/nginx.conf在配置文件中添加以下配置:
http { upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }}上述配置文件中,我們定義了三個(gè)后端服務(wù)器backend1.example.com、backend2.example.com和backend3.example.com,并將它們定義為一個(gè)upstream組。然后,我們使用proxy_pass指令將請求轉(zhuǎn)發(fā)到upstream組,并在HTTP請求頭中添加必要的信息。最后,配置文件中的server塊定義了監(jiān)聽80端口的Nginx服務(wù)器。
保存配置文件并使用以下命令測試配置文件是否正確:
$ sudo nginx -t如果配置文件正確,則會(huì)輸出以下內(nèi)容:
nginx: configuration file /etc/nginx/nginx.conf test is successful3. 配置Nginx高可用性
要實(shí)現(xiàn)Nginx的高可用性,我們可以使用keepalived。keepalived是一個(gè)集成了VRRP協(xié)議的軟件負(fù)載均衡器,它可以將IP地址自動(dòng)轉(zhuǎn)移給備用服務(wù)器。我們可以使用以下命令在Ubuntu 18.04系統(tǒng)上安裝keepalived:
$ sudo apt-get install keepalived然后,我們需要編輯keepalived的配置文件。在Ubuntu 18.04系統(tǒng)上,keepalived的配置文件為/etc/keepalived/keepalived.conf。我們可以使用以下命令編輯該文件:
$ sudo nano /etc/keepalived/keepalived.conf在配置文件中添加以下配置:
! Configuration File for keepalivedglobal_defs { router_id LVS_DEVEL}vrrp_script chk_nginx { script "pidof nginx" interval 2}vrrp_instance VI_1 { interface ens3 state MASTER priority 101 virtual_router_id 51 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.1/24 dev ens3 } track_script { chk_nginx }}在上述配置文件中,我們定義了一個(gè)名為chk_nginx的腳本,該腳本每2秒檢查Nginx進(jìn)程是否在運(yùn)行。在vrrp_instance塊中,我們將keepalived配置為虛擬路由器實(shí)例,并指定了虛擬路由器ID、虛擬IP地址和優(yōu)先級。在authentication塊中,我們指定了密碼以保證安全性。最后,在track_script塊中,我們添加了chk_nginx腳本以跟蹤Nginx進(jìn)程是否在運(yùn)行。
保存配置文件并使用以下命令啟動(dòng)keepalived:
$ sudo systemctl start keepalived現(xiàn)在,我們已經(jīng)成功搭建了一個(gè)高可用的Nginx負(fù)載均衡器。測試負(fù)載均衡器是否正常工作,可以使用curl命令發(fā)送HTTP請求:
$ curl http://192.168.1.1/如果負(fù)載均衡器正常工作,則應(yīng)該得到類似于以下內(nèi)容的響應(yīng):
Hello, world!參考資料:
https://www.nginx.com/resources/glossary/load-balancing/
https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-load-balancing-with-keepalived-on-ubuntu-16-04
https://www.keepalived.org/documentation.html
本文名稱:快速搭建一個(gè)高可用的Nginx負(fù)載均衡器
URL標(biāo)題:http://jinyejixie.com/article13/dgphdgs.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、營銷型網(wǎng)站建設(shè)、云服務(wù)器、域名注冊、網(wǎng)站排名、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)