ホームページ >運用・保守 >Nginx >nginx リバースプロキシに基づいて CentOS で負荷分散を実現する方法

nginx リバースプロキシに基づいて CentOS で負荷分散を実現する方法

WBOY
WBOY転載
2023-05-18 16:49:061203ブラウズ

負荷分散における nginx の利点:

1. ネットワークの 7 層上で作業すると、ドメイン名やディレクトリなどの http アプリケーションのオフロード戦略を立てることができます。構造. その通常のルールは haproxy よりも強力かつ柔軟であり、これが現在広く普及している主な理由の 1 つです. nginx は、これのみに基づく lvs よりもはるかに多くの状況で使用できます。 nginx のネットワークへの影響 安定性への依存度は非常に小さいです. 理論上、ping が成功すればロード機能を実行できます. これも利点の 1 つです; 逆に、lvs はネットワークの安定性への依存度が高くなります。

3 についてはよく理解していますが、nginx のインストールと構成は比較的簡単で、テストがより便利で、基本的にエラーをログに出力できます。 LVS の構成とテストには長い時間がかかります。LVS はネットワークに大きく依存しています

4。高負荷圧力に耐えることができ、安定しています。ハードウェアが悪くなければ、通常は数万回をサポートできます同時実行性と負荷の量は、lvs よりも比較的小さいです。

注:

1. インストール方法が異なると、nginx 構成ファイルの場所も異なります

2アップストリームが ip_hash メソッドを使用する場合、各リクエストはアクセスされた IP のハッシュ結果に従って割り当てられるため、各訪問者はバックエンド サーバーに固定的にアクセスできるため、セッションの問題を解決できます。

#環境:

システム: centos6.6nginx ip: 192.168.20.103web1 ip: 192.168.20.193

web2 ip: 192.168.20.194



1. nginx をインストールします

2 つの方法、私は最初の方法を使用しました最初の yum インストールでは、サードパーティの yum ソースのインストールが必要です。デフォルトでは centos の yum ソースに含まれていないため、Update

yum install wget #安装下载工具
wget http://www.atomicorp.com/installers/atomic #下载
sh ./atomic #安装
yum check-update #更新yum源 有的需要更新几次 才有nginx最新版本 否则是老版本nginx
yum remove httpd* php* #删除系统自带的软件包 也可加mysql*前提备份数据库
yum install nginx #安装nginx根据提示输入y进行安装
chkconfig nginx on #设置nginx开机启动
service nginx start #启动nginx 重启 restart

2 番目のタイプのコンパイルとインストール

wget http://nginx.org/download/nginx-1.7.8.tar.gz
tar -zxvf nginx-1.7.8.tar.gz
cd nginx-1.7.8
./configure
make && make install

2. 設定ファイルを変更します

nginx のアップストリームは負荷分散を実現するためにポーリングをデフォルトとしていますが、この方式では各リクエストが時系列順に 1 つずつ異なるバックエンド サーバーに割り当てられ、バックエンド サーバーがダウンした場合には自動的に排除することができます。 。 #もう 1 つの方法は ip_hash です。アクセスされた IP のハッシュ結果に従って各リクエストが割り当てられるため、各訪問者はバックエンド サーバーに固定的にアクセスでき、セッションの問題を解決できます

/etc/ を変更します nginx/nginx.conf を追加します

#负载均衡配置
upstream backend {
#ip_hash;
server 192.168.20.193;
server 192.168.20.194;
}

/etc/nginx/conf.d/default.conf を変更します

location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实ip
    proxy_set_header host $host;
    proxy_set_header x-real-ip $remote_addr;
    proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
    #禁用缓存
    proxy_buffering off;
    #反向代理的地址
    proxy_pass http://backend;
    root  /usr/share/nginx/html;
    index index.html index.htm;
    # example
    #modsecurityenabled on;
    #modsecurityconfig /etc/nginx/modsecurity.conf;
}

3. Test

First 最初の訪問は 193 に転送されます (アップストリームはデフォルトでポーリングを行うため)。2 回目の訪問は 194

に転送されます。

以上がnginx リバースプロキシに基づいて CentOS で負荷分散を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。