負荷分散における 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 install2. 設定ファイルを変更します
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 サイトの他の関連記事を参照してください。