nginx の一般的なアプリケーション シナリオは何ですか?

王林
リリース: 2020-09-11 16:21:17
転載
5944 人が閲覧しました

nginx の一般的なアプリケーション シナリオは何ですか?

#nginx のメイン アプリケーション シナリオ

##1. リバース プロキシ

##(推奨チュートリアル:

nginx チュートリアル

)

リバース プロキシは、Nginx が行う最も一般的なものであるはずです。リバース プロキシとは何ですか? 百度百科事典には次のように記載されています: リバース プロキシ (リバース プロキシ) 方式とは、プロキシ サーバーを使用してインターネットを受け入れることを指します。要求は内部ネットワーク上のサーバーに転送され、サーバーから得られた結果はインターネット上の接続を要求したクライアントに返されますが、このとき、プロキシ サーバーは外部からはリバース プロキシ サーバーとして見えます。簡単に言うと、実サーバーは外部ネットワークから直接アクセスできないため、プロキシサーバーが必要になりますプロキシサーバーは外部ネットワークからアクセスでき、実サーバーと同じネットワーク環境にあります。サーバーとポートが同じである可能性もありますが、単に異なるだけです。

キー コマンド: proxy_pass

; たとえば、ローカルホスト ポート 80 をローカルホスト ポート 8080

<span style="color: #000000;">server { 
   listen 80; 
    server_name localhost; 

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host:$server_port;
  }<br>}    </span>
ログイン後にコピー
2 に転送します。 #負荷分散も Nginx のよく使われる機能です。簡単に言うと、サーバーが 2 つ以上ある場合、リクエストをルールに従って指定されたサーバーにランダムに振り分けて処理します。通常、負荷分散の設定は同時に行う必要があります。リバース プロキシ、リバース プロキシを介して負荷分散にジャンプします。 Nginx は現在、3 つの組み込み負荷分散戦略と、よく使用される 2 つのサードパーティ戦略

主要コマンド:

upstream

; リクエストをローカルホスト ポート 80 からローカルホスト 8080 に割り当てるなど、3 つの組み込み負荷分散戦略をサポートしています。 localhost 8081

ロード スキーム: 1)、重み 重み: セッション共有を実装する必要があります。そうしないと、ユーザー セッションが同期されなくなり、ユーザーは再度ログインすることになります。

    upstream test {
        server localhost:8080 weight=9;  #请求的 90% 进入到8080服务器
        server localhost:8081 weight=1;  #请求的 10% 进入到8081服务器
    }
ログイン後にコピー

2)、ip_hash: 各リクエストはアクセスされた IP のハッシュ結果に従って割り当てられるため、各訪問者はバックエンド サーバーに固定的にアクセスでき、セッションの問題を解決できます

upstream test {        ip_hash;
        server localhost:8080;
        server localhost:8081;
    }
ログイン後にコピー

3)、公平 (サードパーティ): プレス リクエストはバックエンド サーバーの応答時間に基づいて割り当てられ、応答時間の短いリクエストが最初に割り当てられます。

upstream test {        fair;
        server localhost:8080;
        server localhost:8081;
}
ログイン後にコピー

4)、url_hash (サードパーティ): 各 URL が同じバックエンド サーバーに送信されるように、URL のハッシュ結果を使用してリクエストを割り当てます。はキャッシュされます

upstream backend {        hash $request_uri;
        hash_method crc32;
        server localhost:8080;
        server localhost:8081;
    }
ログイン後にコピー

5)、デフォルト: 時間に従って一度に異なるマシンに割り当てます

upstream test {
        server localhost:8080;
        server localhost:8081;
    }
    server {
        listen       80;                                                        
        server_name  localhost;                                              
        client_max_body_size 1024M;

        location / {
            proxy_pass http://test;
            proxy_set_header Host $host:$server_port;
        }
    }
ログイン後にコピー

3、WEBサーバー

Nginx自体も静的リソースサーバーです。静的リソースのみが存在します。Nginx をサーバーとして使用できます。同時に、静的リソースと動的リソースを分離することも現在非常に人気があり、Nginx を通じて実現できます。まず、静的リソースとしての Nginx を見てみましょう

このようにして、http://localhost にアクセスすると、デフォルトで ##E://www/data# の下にある

#index.html

にアクセスします。 ## ディレクトリ。Web サイトが単なる静的ページの場合は、この方法でデプロイできます。

主要なコマンド: root 静的リソースのみがある場合は、Nginx をserver<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">server {         listen       80;                                                                 server_name  localhost;                                                       location / {                root   e:/www/data;                index  index.html;            }     }</pre><div class="contentsignin">ログイン後にコピー</div></div>4. フォワード プロキシは HTTPS

をサポートしていません フォワード プロキシ とは、クライアントとオリジン サーバー (オリジン サーバー) の間にあるサーバーを意味します。オリジンサーバーに対して、クライアントはプロキシにリクエストを送信し、ターゲット(オリジンサーバー)を指定します。その後、プロキシはリクエストをオリジンサーバーに転送し、取得されたコンテンツがクライアントに返されます。フォワード プロキシを使用できるのはクライアントのみです。サーバーをプロキシ サーバーとして使用する必要がある場合、Nginx を使用してフォワード プロキシを実装できますが、現在 Nginx には問題があります。つまり、HTTPS

5、静的分離

# をサポートしていません。 ## 動的リソースと静的リソースを分離すると、動的 Web サイト内の動的 Web ページで、特定のルールに従って、一定のリソースと頻繁に変更されるリソースを区別できるようになります。動的リソースと静的リソースが分割された後、静的リソースの特性に従ってキャッシュできます。これは次のとおりです。静的 Web サイト処理の核となるアイデア。

rree

以上がnginx の一般的なアプリケーション シナリオは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート