Nginx リバース プロキシ サービスの構成と負荷分散の構成

nginxリバースプロキシサービスの設定

ノード 1: 128
ノード 2: 135
ノード 3: 130
ノード 4: 132
ノード 2、ノード 3、ノード 4 には nginx がインストールされていますnginx のインストールはhttps://blog.csdn.net/HealerCCX/article/details/132089836?spm=1001.2014.3001.5502
で確認できます

[root@node3 ~]# yum install httpd -y
[root@node4 ~]# yum install httpd -y
[root@node3 ~]# systemctl start httpd
[root@node4 ~]# systemctl start httpd
[root@node3 ~]# echo "web test page,ip is `hostname -I`." > /var/www/html/index.html
[root@node4 ~]# echo "web test page,ip is `hostname -I`." > /var/www/html/index.html
[root@node1 conf.d]# curl 192.168.40.130
web test page,ip is 192.168.40.130 .
[root@node1 conf.d]# curl 192.168.40.132
web test page,ip is 192.168.40.132 .

[root@node2 ~]# cd /etc/nginx/conf.d/
[root@node2 conf.d]# vim vhost.conf
server {
    
    
 listen 80;
 server_name www.open1.cn;

 location / {
    
    
  root /var/www/html/index.html;
  proxy_pass http://192.168.40.130;
 }
}
server {
    
    
 listen 80;
 server_name www.open2.cn;

 location / {
    
    
  root /var/www/html/index.html;
  proxy_pass http://192.168.40.132;
 }
}

#windows在C:\Windows\System32\drivers\etc\hosts下添加
#linux在/etc/hosts下添加
[root@node1 ~]# vim /etc/hosts
192.168.40.135 www.open1.cn www.open2.cn
[root@node2 conf.d]# systemctl restart nginx
[root@node2 conf.d]# curl www.open1.cn
“web test page,ip is 192.168.40.130 .”
[root@node2 conf.d]# curl www.open2.cn
“web test page,ip is 192.168.40.132 .”

Nginxのロードバランシング

一般的なラウンドロビン負荷分散

#停止httpd,启动nginx
[root@node4 ~]# systemctl stop httpd
[root@node3 ~]# systemctl stop httpd
[root@node3 ~]# systemctl start nginx
[root@node4 ~]# systemctl start nginx
[root@node3 ~]# echo "web test page,ip is `hostname -I`." > /usr/share/nginx/html/index.html
[root@node4 ~]# echo "web test page,ip is `hostname -I`." > /usr/share/nginx/html/index.html

[root@node2 conf.d]# vim vhost.conf
upstream web_pools {
    
    
  server 192.168.40.130;
  server 192.168.40.132;
}
server {
    
    
 listen 80;
 server_name www.open1.cn;
 location / {
    
    
  root /var/www/html/index.html;
  proxy_pass http://web_pools;
 }
}

[root@node1 ~]# for ((i=1;i<=10;i++)); do curl www.open1.cn; done
web test page,ip is 192.168.40.132 .
web test page,ip is 192.168.40.130 .
web test page,ip is 192.168.40.132 .
web test page,ip is 192.168.40.130 .
web test page,ip is 192.168.40.132 .
web test page,ip is 192.168.40.130 .
web test page,ip is 192.168.40.130 .
web test page,ip is 192.168.40.132 .
web test page,ip is 192.168.40.132 .
web test page,ip is 192.168.40.130 .

加重ラウンドロビン負荷分散

#只需加上weight
[root@node2 nginx]# cat conf.d/vhost.conf 
upstream web_pools {
    
    
  server 192.168.40.130 weight=1;
  server 192.168.40.132 weight=3;
}
server {
    
    
 listen 80;
 server_name www.open1.cn;
 location / {
    
    
  proxy_pass http://web_pools;
 }
}

おすすめ

転載: blog.csdn.net/HealerCCX/article/details/132135702