nginx的負載均衡
文章目錄
- nginx的負載均衡
- 1.以多臺虛擬機作服務器
- 1.1 在不同的虛擬機上安裝httpd服務
- 1.2 在不同虛擬機所構建的服務端的默認路徑下創建不同標識的文件
- 1.3 使用windows本機的瀏覽器分別訪問3臺服務器的地址
- 2.在新的一臺虛擬機上配置nginx實現反向代理以及負載均衡
- 2.1 安裝配置nginx
- 2.2 在所安裝nginx的虛擬機上配置nginx的反向代理及負載均衡
- 2.3 在瀏覽器上測試代理網站訪問情況
- 2.4 修改所代理服務器的權重來實現不同服務器的訪問次數
1.以多臺虛擬機作服務器
1.1 在不同的虛擬機上安裝httpd服務
我這里采用3臺虛擬機分別建立3臺服務器:192.168.32.137、192.168.32.138、192.168.32.147。
在3臺虛擬機服務器上安裝httpd服務
#使用yum安裝httpd服務
[root@node0-8 /]# yum install httpd -y#開啟httpd服務
[root@node0-8 /]# systemctl start httpd
[root@node0-8 /]# systemctl status httpd
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Drop-In: /usr/lib/systemd/system/httpd.service.d└─php-fpm.confActive: active (running) since Mon 2022-12-05 23:34:13 CST; 8 months 7 days ago
1.2 在不同虛擬機所構建的服務端的默認路徑下創建不同標識的文件
#查看httpd的配置文件所指向的網站主頁文件路徑
[root@node0-8 /]# vim /etc/httpd/conf/httpd.conf
</Directory># Further relax access to the default document root:
<Directory "/var/www/html">#在/var/www/html路徑下創建index.html文件,文件內容標識不同的服務器端
#在虛擬機137上創建
[root@server79 /]# vim /var/www/html/index.html
這是主機137
#在虛擬機138上創建
[root@node0-8 /]# vim /var/www/html/index.html
這是主機138
#在虛擬機147上創建
[root@node1-79 /]# vim /var/www/html/index.html
這是主機147
1.3 使用windows本機的瀏覽器分別訪問3臺服務器的地址
注意:訪問前需要關閉3臺建立服務器的虛擬機的防火墻,或者寫上防火墻策略
#關閉服務器主機的防火墻
[root@node1-79 /]# systemctl stop firewalld
[root@node1-79 /]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1)
使用windows主機的瀏覽器分別訪問
2.在新的一臺虛擬機上配置nginx實現反向代理以及負載均衡
2.1 安裝配置nginx
這里我已經提前安裝配置好了,具體安裝配置過程可以查看我的上一篇博客。
2.2 在所安裝nginx的虛擬機上配置nginx的反向代理及負載均衡
進入nginx的配置文件,我這里nginx的配置文件所在的路徑有所不同。
#查看nginx所有配置文件的路徑
[root@localhost ~]# nginx -V#在添加所要代理的服務器前先測試與服務器之間是否信息互聯
[root@localhost /]# ping 192.168.32.137
PING 192.168.32.137 (192.168.32.137) 56(84) bytes of data.
64 bytes from 192.168.32.137: icmp_seq=1 ttl=64 time=0.553 ms#修改nginx的配置文件配置服務器代理
#在nginx的nginx.conf文件中添加以下內容
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
#在http模塊中插入upstream servers { #upstream XXX(自定義命名)server 192.168.32.137; #server 后面的地址為被代理的服務器的地址server 192.168.32.138;server 192.168.32.147;}
#在同一http模塊下的server中的location修改為以下內容
location / { #/后面自定義命名路徑名proxy_pass http://servers; #這里的//后面的XXX必須與上端的upstream后面的相同}#配置修改完畢后重加載nginx配置
[root@localhost sbin]# ./nginx -s reload#關閉防火墻
[root@localhost sbin]# systemctl stop firewalld
[root@localhost sbin]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: inactive (dead) since Tue 2023-08-08 15:08:34 CST; 5 days agoDocs: man:firewalld(1)
2.3 在瀏覽器上測試代理網站訪問情況
通過windows主機的瀏覽器進行訪問,當然可以修改本地的C:\Windows\System32\drivers\etc\hosts文件通過域名映射來訪問
2.4 修改所代理服務器的權重來實現不同服務器的訪問次數
#在原本的代理地址后面加上權重
[root@localhost sbin]# vim /usr/local/nginx/conf/nginx.confupstream servers {server 192.168.32.137 weight=1;server 192.168.32.138 weight=5;server 192.168.32.147 weight=2;}#重新加載nginx的配置
[root@localhost sbin]# ./nginx -s reload
可以看出,權重分配不同,所訪問服務器的次數不同,權重大的,訪問的次數多。