検索
ホームページ運用・保守NginxNginx の主なアプリケーション シナリオは何ですか?

    Nginx の主なアプリケーション シナリオ

    静的 Web サイトの展開

    nginx は、サーバー上に静的ファイルを保存できる http Web サーバーです。 (html、css、画像) は、HTTP プロトコルを通じてブラウザ クライアントに返されます。

    例: 静的リソースのindex.htmlをサーバーにデプロイします

    Nginx の主なアプリケーション シナリオは何ですか?

    index.htmlをLinux /opt/www/test

    にアップロードします

    Nginx の主なアプリケーション シナリオは何ですか?

    #nginx.conf を変更し、/test のリクエストをインターセプトする場所を追加します。root に対応する /opt/www パスは、/test の前の /slash であるルート パスを表します。

    location /test {
                root   /opt/www;
                index  index.html;
            }

    nginx を開始するか、nginx をリロードします

    Nginx の主なアプリケーション シナリオは何ですか?

    アクセスしてみましょう: http://192.168.253.130/test/

    Nginx の主なアプリケーション シナリオは何ですか?

    ロード バランシング

    ロード バランシングは、ハードウェア ロード バランシングとソフトウェア ロード バランシングに分類できます

    F5、Sangfor、Array などのハードウェア ロード バランシングには利点があります。メーカーの専門チームによるサポートを受けられる 安定したパフォーマンス; 欠点は高価であることです

    #Nginx、LVS、HAProxy などのソフトウェア負荷分散。利点は、無料でオープンソースであることです。低コスト

    ポーリング方式: リクエストを順番に割り当てます。バックエンド サーバーでは、サーバーへの実際の接続数や現在のシステム負荷に関係なく、各バックエンド サーバーが平等に扱われます。

    http {
        upstream test{
        ##后端实际服务器 nginx在轮询访问以下几台服务器
            server 10.100.30.1:8080;
            server 10.100.30.2:8080;
            server 10.100.30.3:8080;
            server 10.100.30.4:8080;
        }
        server {
        ##前端拦截入口
            listen 80;
            server_name www.test.com;
            location / { 
                proxy_pass http://test;
            }
        }
    }

    加重ポーリング方式: バックエンド サーバーが異なればマシン構成や現在のシステム負荷も異なる可能性があるため、耐圧性も異なります。

    高構成かつ低負荷のマシンにはより多くのリクエストを処理できるように高い重みを割り当て、低構成かつ高負荷のマシンには低い重みを割り当ててシステム負荷を軽減します。この問題は非常にうまく解決され、リクエストを順番に、重みに従ってバックエンドに分散します。

    http {
        upstream test{
        ##后端实际服务器 nginx在轮询访问以下几台服务器
            server 10.100.30.1:8080 weight=1;
            server 10.100.30.2:8080 weight=3;
            server 10.100.30.3:8080 weight=1;
            server 10.100.30.4:8080 weight=1;
        }
        server {
        ##前端拦截入口
            listen 80;
            server_name www.test.com;
            location / { 
                proxy_pass http://test;
            }
        }
    }

    ソース アドレス ハッシュ方式: クライアントの IP アドレスに従って、ハッシュ関数を通じて値が計算され、その値を使用してサーバー リストのサイズのモジュロ演算が実行されます。取得されるのはクライアント要求であり、サーバーにアクセスするためのシリアル番号です。

    負荷分散にソース アドレス ハッシュ方式を使用すると、バックエンド サーバーのリストが変更されない限り、同じ IP アドレスを持つクライアントは毎回同じバックエンド サーバーにマッピングされてアクセスします。

    upstream test{
            ip_hash;
            server 10.100.30.1:8080 weight=1;
            server 10.100.30.2:8080 weight=3;
            server 10.100.30.3:8080 weight=1;
            server 10.100.30.4:8080 weight=1;
        }

    最小接続数の方法: バックエンド サーバーの構成が異なるため、リクエストの処理が速くなったり、遅くなったりする可能性があります。最小接続数の方法では、現在のバックログに基づいて現在のバックログが動的に選択されます。バックエンド サーバーの接続ステータス。接続数が最も少ないサーバーが現在のリクエストを処理し、バックエンド サービスの利用効率を可能な限り向上させ、各サーバーへの責任を合理的に分散します。

    upstream test{
            least_conn;
            server 10.100.30.1:8080;
            server 10.100.30.2:8080;
            server 10.100.30.3:8080;
            server 10.100.30.4:8080;
        }

    down: 特定のサービスの停止を示します

    upstream test{
            server 10.100.30.1:8080 down;
            server 10.100.30.2:8080;
            server 10.100.30.3:8080;
            server 10.100.30.4:8080;
        }

    backup: バックアップサーバーを指定します 通常、他のサーバーが正常にアクセスできる限り、バックアップサーバーにはアクセスされません。他のサーバーのみ。スタンバイ サーバーは、すべてがダウンしている場合にのみ使用されるため、この方法は通常、ホット デプロイメントの実装に使用されます。コードは最初にスタンバイ サーバーに更新され、その後、通常のサーバーが停止されます。通常のサーバーのデプロイメント後完了、スタンバイ サーバーが再び待機中というステータスの場合、展開プロセス全体でユーザーはダウンタイムを経験することはありません。

    upstream test{
            server 10.100.30.1:8080 backup;
            server 10.100.30.2:8080 backup;
            server 10.100.30.3:8080;
            server 10.100.30.4:8080;
        }

    • 静的プロキシ

    • ##動的と静的の分離
    • #仮想ホスト
    • Nginx の使用シナリオと例
    Nginx は、高性能、高同時実行性の HTTP サーバーであり、その逆も可能です。プロキシサーバーは、静的リソースサーバー、ロードバランサー、リバースプロキシ、キャッシュサーバー、Webサーバーなど、さまざまなシーンで利用できます。

    以下はいくつかの使用シナリオと例です:

    1. 静的リソース サーバー

    Nginx を静的リソース サーバーとして使用する場合、Nginx は要求されたファイルを直接返します。 Webサーバーの負荷を軽減します。このシナリオは通常、静的ファイルのダウンロードやビデオなどの大きなファイルへのアクセスを提供するために使用されます。

    以下は Nginx 構成の例です:

    server {
        listen       80;
        server_name  example.com;
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
        location /images/ {
            alias /var/www/images/;
        }
        location /downloads/ {
            alias /var/www/downloads/;
        }
    }

    上記の構成では、Nginx はルート ディレクトリ (/) にアクセスするリクエストを /usr/share/nginx/html ディレクトリにマップします。要求されたファイルが /images/ ディレクトリ内のファイルである場合、Nginx はそれを /var/www/images/ ディレクトリにマッピングします。要求されたファイルが /downloads/ ディレクトリ内のファイルである場合、Nginx はそれをマッピングします。 /var/www/downloads/ ディレクトリに移動します。

    2. リバースプロキシ

    Nginx をリバース プロキシ サーバーとして使用する場合、Nginx はリクエストを Web サーバーに転送して処理し、処理結果をクライアントに返します。

    このシナリオは通常、負荷分散の実現、Web サーバーのセキュリティの向上、Web サーバーの実際の IP の隠蔽などに使用されます。

    以下は Nginx 構成のサンプルです:

    upstream backend {
        server backend1.example.com:8080 weight=3;
        server backend2.example.com:8080;
    }
    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }

    上述配置中,Nginx会将访问根目录(/)的请求转发给后端的Web服务器(backend1.example.com和backend2.example.com),其中backend1.example.com的权重为3,backend2.example.com的权重为1,表示backend1.example.com的处理能力更强。

    在转发请求时,Nginx还会设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏Web服务器的真实IP。

    3.负载均衡器

    在使用Nginx作为负载均衡器时,Nginx会将请求均衡地分发到多个Web服务器上,从而实现高并发、高可用的服务。这种场景通常用于Web应用程序的集群部署、分布式系统的部署等。下面是一个示例Nginx配置:

    upstream backend {
        server backend1.example.com:8080;
        server backend2.example.com:8080;
        server backend3.example.com:8080;
    }
    server {
        listen 80;
        server_name example.com;
        location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        }
    }

    上述配置中,Nginx会将请求均衡地分发到三个Web服务器(backend1.example.com、backend2.example.com和backend3.example.com)上,从而实现负载均衡。

    在转发请求时,Nginx还会设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏Web服务器的真实IP。

    4.缓存服务器

    在使用Nginx作为缓存服务器时,Nginx会缓存Web服务器返回的响应,从而减少对Web服务器的请求。这种场景通常用于提高Web应用程序的性能、降低Web服务器的负载等。下面是一个示例Nginx配置:

    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
    server {
    listen 80;
    server_name example.com;
        location / {
            proxy_cache my_cache;
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }

    上述配置中,Nginx会将Web服务器返回的响应缓存到/var/cache/nginx/my_cache目录下,并设置缓存有效期为60分钟。在缓存命中时,Nginx会直接返回缓存的响应,从而减少对Web服务器的请求。

    总之,Nginx具有很强的可扩展性和灵活性,可以根据不同的需求配置不同的使用场景。以上仅是一些示例,实际应用中还有很多其他的使用场景。

    5.反向代理服务器

    在使用Nginx作为反向代理服务器时,Nginx会将客户端请求转发到后端的Web服务器上,并将后端服务器返回的响应转发给客户端。这种场景通常用于隐藏后端服务器的真实IP、提高Web应用程序的可用性等。下面是一个示例Nginx配置:

    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }

    上述配置中,Nginx会将客户端请求转发到http://backend上,并设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏后端服务器的真实IP。

    6.WebSocket服务器

    在使用Nginx作为WebSocket服务器时,Nginx会将客户端请求转发到后端的WebSocket服务器上,并实现WebSocket协议的连接管理。这种场景通常用于实时通信、游戏等应用程序。

    下面是一个示例Nginx配置:

    map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
    }
    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://backend;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }

    上述配置中,Nginx会将WebSocket请求转发到http://backend上,并设置HTTP头信息中的Upgrade、Connection、Host和X-Real-IP字段,从而实现WebSocket协议的连接管理。

    总之,Nginx具有很多的使用场景,可以根据不同的需求配置不同的服务器功能。以上仅是一些示例,实际应用中还有很多其他的使用场景。

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

    声明
    この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
    Nginxユニット:さまざまなプログラミング言語をサポートしますNginxユニット:さまざまなプログラミング言語をサポートしますApr 16, 2025 am 12:15 AM

    Nginxunitは複数のプログラミング言語をサポートし、モジュラー設計を通じて実装されています。 1。言語モジュールの読み込み:構成ファイルに従って対応するモジュールをロードします。 2。アプリケーションの起動:呼び出し言語が実行されたときにアプリケーションコードを実行します。 3。リクエスト処理:リクエストをアプリケーションインスタンスに転送します。 4。応答返品:処理された応答をクライアントに返します。

    nginxとapacheを選択する:あなたのニーズに合った適切nginxとapacheを選択する:あなたのニーズに合った適切Apr 15, 2025 am 12:04 AM

    NginxとApacheには独自の利点と短所があり、さまざまなシナリオに適しています。 1.Nginxは、高い並行性と低リソース消費シナリオに適しています。 2。Apacheは、複雑な構成とリッチモジュールが必要なシナリオに適しています。コア機能、パフォーマンスの違い、ベストプラクティスを比較することで、ニーズに最適なサーバーソフトウェアを選択するのに役立ちます。

    nginxを開始する方法nginxを開始する方法Apr 14, 2025 pm 01:06 PM

    質問:nginxを開始する方法は?回答:nginxスタートアップnginx検証nginxはnginxを開始しました他のスタートアップオプションを自動的に開始

    Nginxが開始されるかどうかを確認する方法Nginxが開始されるかどうかを確認する方法Apr 14, 2025 pm 01:03 PM

    nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

    nginxを閉じる方法nginxを閉じる方法Apr 14, 2025 pm 01:00 PM

    NGINXサービスをシャットダウンするには、次の手順に従ってください。インストールタイプを決定します:Red Hat/Centos(SystemCtl Status Nginx)またはDebian/Ubuntu(Service Nginx Status)サービスを停止します:Red Hat/Centos(SystemCtl Stop Nginx)またはDebian/Ubuntu(Service Nginx Stop)無効自動起動(オプション):Debuntos/Centos/Centos/Centos/Centos/Centos (syst

    Windowsでnginxを構成する方法Windowsでnginxを構成する方法Apr 14, 2025 pm 12:57 PM

    Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

    nginx403エラーを解く方法nginx403エラーを解く方法Apr 14, 2025 pm 12:54 PM

    サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

    Linuxでnginxを開始する方法Linuxでnginxを開始する方法Apr 14, 2025 pm 12:51 PM

    Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    mPDF

    mPDF

    mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

    AtomエディタMac版ダウンロード

    AtomエディタMac版ダウンロード

    最も人気のあるオープンソースエディター

    EditPlus 中国語クラック版

    EditPlus 中国語クラック版

    サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

    PhpStorm Mac バージョン

    PhpStorm Mac バージョン

    最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

    WebStorm Mac版

    WebStorm Mac版

    便利なJavaScript開発ツール