ホームページ  >  記事  >  バックエンド開発  >  Nginxサーバーの構成手順

Nginxサーバーの構成手順

WBOY
WBOYオリジナル
2016-07-30 13:30:091288ブラウズ

Nginx サーバーの構成手順:
書き換え関数、プロキシ関数

書き換え関数

バックエンドサーバーグループの設定手順

アップストリーム命令

アップストリーム命令はバックエンドサーバーグループを設定するための主な命令です

<code>upstream name {<span>...</span>} </code>

リクエストはラウンドロビン(RR)に従ってスケジュールされます) ポリシー順序選択サーバー処理

server

server ディレクティブは、グループ内のサーバーを設定するために使用されます

<code>server address [<span>params</span>];</code>
  • address: サーバーアドレス。これには、接頭辞「」が付いたプロセス間通信用のポート番号または Unix ドメインソケットを含めることができます。 unix:"
  • params: 現在のサーバーのプロパティをさらに設定します。
    Weight=number、グループ内のサーバーの重み、重みの高いリクエストが最初に処理されます (重み付けポーリング戦略が採用されます)
    max_fails=number、失敗したリクエストの数を設定します。グループ内のサーバーへの失敗したリクエストの数がこの変数を超えると、サーバーは無効とみなされます (404 を除く)。 failed_timeout=time、グループ内のサーバーのリクエストを試行し、サーバーが有効かどうかを確認する時間を設定します
    バックアップ、サーバーをバックアップ サーバーとしてマークします
    ダウンし、サーバーを永久に無効としてマークします
ip_hash コマンド

ip_hash コマンドは、セッション永続化機能を実装するために使用され、クライアントとサーバー間の安定したセッションを確保するために、クライアントからの複数のリクエストをグループ内の同じサーバーに送信します。 。

注:
ip_hash コマンドは、システム全体で、フロントエンド サーバーである必要があり、クライアント アドレスは、

keepalive コマンド

keepalive コマンドである必要があります。ネットワーク接続の維持を制御するために使用されます 機能

<code>keepalive connections;</code>
サーバーの各ワーカープロセスがサーバーグループに維持できるアイドルネットワーク接続数の上限を設定します

least_conn ディレクティブ

least_conn ディレクティブは、Nginx サーバーの設定に使用されます負荷分散戦略を使用してサーバー グループ サーバー内のネットワーク接続を割り当て、現在のネットワーク接続が最も少ないサーバーにリクエストを割り当てます

Rewrite 機能の構成手順

Rewrite 機能の複数のアプリケーション

プロキシ機能

Nginxフォワード プロキシ サービスの設定手順

リゾルバ手順

リゾルバ手順が使用されます DNS サーバーの IP アドレスを指定します

<code>resolver address <span>...</span> [valid=time];</code>
    address、DNS サーバーの IP アドレス、デフォルト ポート 35
  • time、有効時間を設定しますネットワーク内のデータパケット
resolve_timeoutコマンド

resolve_timeoutコマンドは、DNSサーバーのドメイン名解決タイムアウトを設定するために使用されます

<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 チュートリアルに興味のある友人に役立つことを願っています。

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