ホームページ  >  記事  >  運用・保守  >  nginxで負荷分散を行う方法

nginxで負荷分散を行う方法

藏色散人
藏色散人オリジナル
2019-06-10 10:02:274262ブラウズ

nginxで負荷分散を行う方法

1. 負荷分散

サーバーの単位時間当たりのアクセス数が増加すると、サーバーへの負荷が増加します。サーバーにかかる圧力がその能力を超えると、サーバーはクラッシュします。サーバーのクラッシュを回避し、ユーザーにより良いエクスペリエンスを提供するために、通常は負荷分散を使用してサーバーへの負荷を分散します。

それでは、負荷分散とは何でしょうか?多数のサーバーを構築してサーバークラスターを構成し、ユーザーがWebサイトにアクセスすると、最初に中間サーバーにアクセスし、サーバークラスター内で負荷の少ないサーバーを中間サーバーに選択させ、アクセスします。リクエストは選択したサーバーに送信されます。

このようにして、ユーザーがアクセスするたびに、サーバー クラスター内の各サーバーの圧力のバランスが保たれるようになり、サーバーの圧力が共有され、サーバーのクラッシュが回避されます。負荷分散には、リバース プロキシの考え方が使用されます。

2. Nginx での負荷分散の実装

Nginx は、リバース プロキシを介して負荷分散を実現できるサーバーです。Nginx サービスを使用して負荷分散を実現する場合、ユーザーのアクセスは最初に Nginx サーバーにアクセスし、次に Nginx サーバーはサーバー クラスター テーブルから負荷の低いサーバーを選択し、アクセス要求をそのサーバーに送信します。サーバークラスター内のサーバーがクラッシュした場合、そのサーバーは候補サーバーのリストから削除されます。つまり、サーバーがクラッシュした場合、Nginx はサーバーへのアクセス要求を確実に導入しません。

1. fzjh.conf 設定ファイルの作成

/usr/local/nginx/conf に fzjh.conf ファイルを作成します。ファイルの内容は次のとおりです。

user  nobody;
worker_processes  2;
events {
    worker_connections  1024;
}
http{
   #=upstream设置负载均衡的待选服务器列表,在运行中如果有服务器崩溃那该服务器就会在该列表中移除
    upstream mypro{
        server 219.133.55.36;#中国万维网
        server 115.239.210.27;#百度的ip
    }
    server{
        listen 8080;
        #====== 对ngnix更目录做负载均衡===
        location / {
           #==选择要代理的服务器要与upstream对应==========
            proxy_pass http://mypro;
        }
    }
}

2. fzjh.conf 設定ファイルをロードします

コマンドを実行します:

 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/fzjh.conf

3. テストが成功したかどうか

ここで、負荷分散候補サーバーのリストは Baidu と China World Wide Web です。これは、ホスト名 8080 にアクセスすることでテストできることを意味します。ページが Baidu と China World Wide Web の間で切り替わる場合、成功を意味します。

この記事は、Nginx チュートリアルのコラムから引用したものです: http://www.php.cn/nginx/

以上がnginxで負荷分散を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。