LVS-DR クラスターを構築し、CentOS 7 に基づいて nginx ロード バランシングを構成する

目次

1. CentOS 7 に基づいて LVS-DR クラスターを構築する

1. 事前準備

1. ファイアウォールをオフにする

2.ifconfigをインストールする

3. 4台の仮想マシンを用意する

2.DSの場合

2.1. LVS 仮想 IP の設定

2.2. LVS サービスを追加し、2 つの RS を追加する構成を手動で実行します。

2.3. 設定の表示

3. RS側(3局目、4局目)

3.1. Webサーバーの設定

3.2. デフォルトのホームページの設定

3.3. サービスの開始

3.4. テスト: クライアント上の Web サーバーにアクセスする

3.5. VIPのバインド

3.6. ホストルーティングの設定

3.7. ARP 応答の抑制

4. クライアントでのテスト

 2. nginx ロードバランシングを構成する

1. nginxのインストールとデプロイ

2. イントラネットサーバー 151

3. イントラネットサーバー 152

4. プロキシサーバー150

5. クライアント

1. CentOS 7 に基づいて LVS-DR クラスターを構築する

1. 事前準備

1. ファイアウォールをオフにする


[root@localhost ~]# systemctl stop firewalld

2.ifconfigをインストールする

yum install net-tools.x86_64 -y

3. 4台の仮想マシンを用意する

ip 使用
192.168.226.150 クライアント
192.168.226.151 レベル
192.168.226.152

RS

192.168.226.153 RS

2.DSの場合

2.1. LVS 仮想 IP の設定

安装ipvsadm
yum install ipvsadm -y

增加IP
ifconfig ens33:200 192.168.226.200 netmask 255.255.255.255 up

2.2. LVS サービスを追加し、2 つの RS を追加する構成を手動で実行します。

[root@localhost ~]# ipvsadm -C
[root@localhost ~]# ipvsadm -A -t 192.168.226.200:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.226.200:80 -r 192.168.226.151:80 -g
[root@localhost ~]# ipvsadm -a -t 192.168.226.200:80 -r 192.168.226.152:80 -g

2.3 . 設定の表示

3. RS側(3局目、4局目)

3.1. Webサーバーの設定

yum install httpd -y

3.2. デフォルトのホームページの設定

hostname -I 取地址

[root@backup ~]# echo "web test page, ip is `hostname -I`." > /var/www/html/index.html

3.3. サービスの開始

[root@backup ~]# systemctl start httpd

3.4. テスト: クライアント上の Web サーバーにアクセスする

[root@localhost ~]# curl 192.168.226.147
web test page, ip is 192.168.226.147 .
[root@localhost ~]# curl 192.168.226.148
web test page, ip is 192.168.226.148 .

3.5. VIPのバインド

ifconfig lo:200 192.168.226.200 netmask 255.255.255.255 up

3.6. ホストルーティングの設定

route add -host 192.168.226.200 dev lo

3.7. ARP 応答の抑制

调整内核参数,关闭arp响应

echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

4. クライアントでのテスト

 2. nginx ロードバランシングを構成する

1. nginxのインストールとデプロイ

Linux システムに Nginx をデプロイする_Funny Dog のブログ-CSDN ブログ

2. イントラネットサーバー 151

[root@localhost ~]# vim /etc/nginx/conf.d/vhost.conf
server {
        listen 80;
        server_name web1.yunjisuan.com;

        location / {
                root /usr/share/nginx/html/web1;
                index index.html index.htm;
        }
        access_log /usr/share/nginx/html/web1/logs/access_bbs.log main;

}
[root@localhost ~]# mkdir -p /usr/share/nginx/html/web1/logs
[root@localhost ~]# echo "`hostname -I `web1" > /usr/share/nginx/html/web1/index.html
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost ~]# systemctl restart nginx

3. イントラネットサーバー 152

[root@localhost ~]# vim /etc/nginx/conf.d/vhost.conf
server {
        listen 80;
        server_name web1.yunjisuan.com;

        location / {
                root /usr/share/nginx/html/web1;
                index index.html index.htm;
        }
        access_log /usr/share/nginx/html/web1/logs/access_bbs.log main;

}


[root@localhost ~]# mkdir -p /usr/share/nginx/html/web1/logs
[root@localhost ~]# echo "`hostname -I `web1" > /usr/share/nginx/html/web1/index.html
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost ~]# systemctl restart nginx

4. プロキシサーバー150

[root@localhost ~]# vim /etc/nginx/conf.d/lb_test.conf
upstream www_server_pools {
        server 192.168.226.151:80 weight=1;
        server 192.168.231.152:80 weight=1;
}
server {
        listen 80;
        server_name web1.haha.com;
        location / {
                proxy_pass http://www_server_pools;
                proxy_set_header Host $host;
        }
}

5. クライアント

[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.226.150 web1.haha.com
[root@localhost ~]# for ((i=1;i<=6;i++)); do curl web1.haha.com; done
192.168.226.152 web1
192.168.226.151 web1
192.168.226.152 web1
192.168.226.151 web1
192.168.226.152 web1
192.168.226.151 web1

おすすめ

転載: blog.csdn.net/shenql_/article/details/132173458