Nginx サーバーの構成手順:
書き換え関数、プロキシ関数
書き換え関数
バックエンドサーバーグループの設定手順
アップストリーム命令
アップストリーム命令はバックエンドサーバーグループを設定するための主な命令です
<code>upstream name {<span>...</span>} </code>
リクエストはラウンドロビン(RR)に従ってスケジュールされます) ポリシー順序選択サーバー処理
server
server ディレクティブは、グループ内のサーバーを設定するために使用されます
<code>server address [<span>params</span>];</code>
注:
ip_hash コマンドは、システム全体で、フロントエンド サーバーである必要があり、クライアント アドレスは、
<code>keepalive connections;</code>サーバーの各ワーカープロセスがサーバーグループに維持できるアイドルネットワーク接続数の上限を設定します least_conn ディレクティブ least_conn ディレクティブは、Nginx サーバーの設定に使用されます負荷分散戦略を使用してサーバー グループ サーバー内のネットワーク接続を割り当て、現在のネットワーク接続が最も少ないサーバーにリクエストを割り当てます Rewrite 機能の構成手順 Rewrite 機能の複数のアプリケーション プロキシ機能 Nginxフォワード プロキシ サービスの設定手順 リゾルバ手順 リゾルバ手順が使用されます DNS サーバーの IP アドレスを指定します
<code>resolver address <span>...</span> [valid=time];</code>
<code>resolve_timeout <span>time</span>;</code>proxy_passコマンドproxy_passコマンドは、プロキシサーバーのプロトコルとアドレスを設定するために使用されます
<code>proxy_pass <span>URL</span>;</code>Nginx リバース プロキシ サービス設定コマンドproxy_pass コマンドproxy_pass コマンドは、プロキシ サーバーのアドレスを設定するために使用されます。ホスト名、IP アドレスとポート番号などを設定できます。
<code>proxy_pass <span>URL</span>;</code>proxy_hide_header コマンドproxy_hide_header コマンドは、 HTTP 応答を送信するときに一部のヘッダー フィールド情報を非表示にするように Nginx サーバーを設定するために使用されます
<code>proxy<span>\_</span>hide_header field</code>proxy_pass_header コマンドproxy_pass_header コマンドは、これらのヘッダー フィールド情報が送信されるように設定するために使用されます
<code>proxy<span>\_</span>hide_header field</code>proxy_pass_header ディレクティブproxy_pass_header ディレクティブはどのヘッダーを設定するために使用されますフィールド情報が送信されます
<code>proxy<span>\_</span>hide_header field</code>省略Nginxリバースプロキシサービス - ロードバランシング一般的なポーリングルールのロードバランシング
<code><span>...</span> upstream backend { server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; } server { listen <span>80</span>; server_name www.mysite.name; index index.html index.htm; location / { proxy_pass http://backend; proxy_set_header Host $host; <span>...</span> } <span>...</span> }</code>加重ポーリングルールロードバランシング
<code><span>...</span> upstream backend { server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span> weight=<span>5</span>; server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span> weight=<span>2</span>; server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; } server { listen <span>80</span>; server_name www.mysite.name; index index.html index.htm; location / { proxy_pass http://backend; proxy_set_header Host $host; <span>...</span> } <span>...</span> }</code>特定のリソースのロードバランシング
<code><span>...</span> upstream videobackend { server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; } upstream filebackend { server <span>192.168</span><span>.1</span><span>.5</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.6</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.7</span>:<span>80</span>; } server { listen <span>80</span>; server_name www.mysite.name; index index.html index.htm; location /video/ { proxy_pass http://videobackend; proxy_set_header Host $host; <span>...</span> } location /file/ { proxy_pass http://filebackend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; <span>...</span> } <span>...</span> }</code>異なるドメイン名のロードバランシング
<code><span>...</span> upstream bbsbackend{ server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span> weight=<span>2</span>; server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span> weight=<span>2</span>; server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; } upstream homebackend { server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.5</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.6</span>:<span>80</span>; } server { listen <span>80</span>; server_name home.mysite.name; index index.html index.htm; location / { proxy_pass http://homebackend; proxy_set_header Host $host; <span>...</span> } <span>...</span> } server { listen <span>81</span>; server_name bbs.mysite.name; index index.html index.htm; location / { proxy_pass http://bbsbackend; proxy_set_header Host $host; <span>...</span> } <span>...</span> }</code>URL書き換えによる負荷分散
<code><span>...</span> upstream backend{ server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; } server { listen <span>80</span>; server_name www.mysite.name; index index.html index.htm; location /file/ { rewrite ^(/file/.*)/media/(.*)\.*$ $<span>1</span>/mp3/$<span>2.</span>mp3 last; } location / { proxy_pass http://backend; proxy_set_header Host $host; <span>...</span> } }</code>上記では、関連コンテンツを含む Nginx サーバーの構成手順を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。