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 サイトの他の関連記事を参照してください。