Nginx は動的と静的の分離を実装します 例の説明

Nginx は動的と静的の分離を実装します 例の説明

ウェブサイトの解析を高速化するために、動的ページと静的ページを異なるサーバーで解析して、解析速度を向上させることができます。元の単一サーバーへの負荷を軽減します。 簡単に言えば、正規表現を使用して一致とフィルタリングを行い、それらをさまざまなサーバーに送信します。

1. 環境を整える

それぞれ動的と静的を処理するために、2 つの http 用の nginx プロキシを準備します。

1. コンパイルおよびインストールされた nginx をリバース プロキシ アップストリームとして構成します。

アップストリーム静的{
サーバー 10.0.105.196:80 重み=1 max_fails=1 fail_timeout=60s;
}
アップストリームphp {
サーバー 10.0.105.200:80 重み=1 max_fails=1 fail_timeout=60s;
}

サーバー{
listen server_name
#動的リソースの読み込み 80;
ローカルホスト
場所 ~ \.(php|jsp)$ { proxy_pass http://phpserver;

proxy_set_header ホスト $host:$server_port; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

#静的リソースの読み込み場所 ~ \.(html|jpg|png|css|js)$ { proxy_pass http://static; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

静的リソース構成---10.0.105.196

サーバー{
聞く 80;
server_name ローカルホスト;

場所 ~ \.(html|jpg|png|js|css)$ { root /var/www/nginx;
}
}

写真をアップロード

動的リソース構成: 10.0.105.200

php7.1 をインストールします

[root@nginx-server ~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/epel- release.rpm

[root@nginx-server ~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic- release.rpm

[root@nginx-server ~]#yum インストール php71w-xsl php71w php71w-ldap php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath php71w-mcrypt -y

[root@nginx-server ~]#yum install -y php71w-fpm [root@nginx-server ~]#systemctl start php-fpm [root@nginx-server ~]#systemctl enable php-fpm

nginx 設定ファイルを編集します。

[root@nginx-server ~]# cd /etc/nginx/conf.d/ [root@nginx-server conf.d]# vim phpserver.conf server {

聞く 80;

server_name localhost; location ~ \.php$ {

root /home/nginx/html; #ウェブサイトのディレクトリを指定する

fastcgi_pass fastcgi_index fastcgi_param

#サイトルートディレクトリ、ルート構成項目によって異なります

含む

}

}

127.0.0.1:9000; #アクセスアドレスを指定する

インデックス.php;

#デフォルトファイルを指定する

SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_params; #nginx定数の定義が含まれています

静的ページにアクセスすると、場所が(html|jpg|png|js|css)に一致し、静的サーバーに転送されます。静的サービスは

リクエストを処理するために、通常の場所の一致が使用されます。

動的ページにアクセスすると、場所は .\php で終わるファイルと一致し、バックエンドの PHP サービスに転送してリクエストを処理します。

知識ポイントの拡張:

リクエストに応じて切り離す

[root@lb01 conf]# vim nginx.conf
ワーカープロセス 1;
イベント {
  ワーカー接続 1024;
}
http {
  mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;
  ファイル送信オン;
  キープアライブタイムアウト65;
アップストリームスタックプール{
    サーバー 172.25.254.134:80 重み=5;
}
アップストリームダイナミックプール{
    サーバー 172.25.254.135:80 重み=5;
}
  サーバー{
    聞く 80;
    サーバー名 www.lbtest.com;
    位置 / {
      ルートhtml;
      インデックス index.html index.htm;
      proxy_set_header ホスト $host;
      proxy_pass http://dynamic_pools;
    }
    場所 /画像/ {
      proxy_set_header ホスト $host;
    proxy_pass http://stack_pools;
    }
    場所 /dynamic/ {
      proxy_set_header ホスト $host;
    proxy_pass http://dynamic_pools;
    }
  }
}
[root@lb01 conf]# nginx -s リロード

拡張子で区切る

[root@lb01 conf]# vim nginx.conf

 ワーカープロセス 1;
イベント {
  ワーカー接続 1024;
}
http {
  mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;
  ファイル送信オン;
  キープアライブタイムアウト65;
アップストリームスタックプール{
    サーバー 172.25.254.134:80 重み=5;
}
アップストリームダイナミックプール{
    サーバー 172.25.254.135:80 重み=5;
}
  サーバー{
    聞く 80;
    サーバー名 www.lbtest.com;
    位置 / {
      ルートhtml;
      インデックス index.html index.htm;
      proxy_set_header ホスト $host;
      proxy_pass http://dynamic_pools;
    }
    場所 ~ .*.(jpg|png|gif|css|js|swf|bmp|jsp|php|asp)$ {
    proxy_set_header ホスト $host;
    proxy_pass http://stack_pools;
    }
  }
}
[root@lb01 conf]# nginx -s リロード

nginx で動的と静的の分離を実装する例についての記事はこれで終わりです。nginx で動的と静的の分離を実装する例についてさらに詳しく知りたい場合は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 動的および静的分離のための Apache または Tomcat を使用した Nginx の基本構成例
  • Nginx+uWsgi を使用して Python の Django フレームワーク サイトの動的部分と静的部分を分離する
  • nginx + tomcatリバースプロキシと動的および静的分離のシンプルな実装
  • 静的Tomcatと動的Tomcatを分離するnginxの詳細な説明
  • nginxは負荷分散と動的および静的分離を実現します
  • 動的および静的分離を実装するための Nginx サンプル コード
  • Nginx+Apache の動的および静的分離の導入の詳細な例
  • 動的および静的分離を実現する nginx のサンプルコード
  • Nginx の動的および静的分離実装ケースのコード分析
  • Springmvc nginxで動的と静的の分離を実現するプロセスの詳細な説明
  • 負荷分散と動的および静的分離操作を実現するDocker NginxコンテナとTomcatコンテナ
  • 負荷分散と動的・静的分離を実現するNginx+Tomcatの原理の分析
  • Nginx の負荷分散と動的および静的分離の原理と構成
  • nginx が動的と静的の分離を実装する方法の例
  • インストールから設定までの nginx の詳細な手順 (インストール、セキュリティ設定、ホットリンク防止、動的および静的分離、HTTPS 設定、パフォーマンスの最適化)
  • Nginx+Tomcat 負荷分散と動的および静的分離クラスタの実装
  • 動的および静的分離を実現するサーバー負荷分散 nginx+tomcat
  • Nginx の動的および静的分離構成の実装と説明

<<:  JSはじゃんけんゲームを実装します

>>:  Windows での MySQL 8.0.18 インストール チュートリアル (図解)

推薦する

今日と昨日の 0:00 タイムスタンプを取得する MySQL の例

以下のように表示されます。昨日: UNIX_TIMESTAMP(CAST(SYSDATE() AS ...

ウェブ画像のホットリンクと座標値を設定するサンプルコード

時には、画像上に複数の領域を設定する必要があります。マウスで画像のさまざまな領域をクリックしてさまざ...

Nginx におけるサーバーとロケーションのマッチングロジックの詳細な理解

サーバーマッチングロジックNginx は、リクエストを実行するサーバー ブロックを決定するときに、サ...

docker公式mysqlイメージのカスタム構成の詳細な説明

インストール時間を節約するために、公式の mysql docker イメージを使用して mysql ...

Angularフレームワークのビュー抽象定義の詳細な説明

序文「大規模なフロントエンド プロジェクト向け」に設計されたフロントエンド フレームワークである A...

Linuxでブーストライブラリをインストールするための完全な手順

序文Boost ライブラリは、標準ライブラリのバックアップとして機能し、C++ 標準化プロセスの開発...

Dockerが正常に起動しない原因と解決策を詳しく解説

1. Docker 起動時の異常なパフォーマンス: 1. ステータスが繰り返し再起動している場合は、...

HTMLプログラミングタグとドキュメント構造の詳細な説明

HTML を使用してコンテンツをマークアップする目的は、Web ページにセマンティクスを与えることで...

MySQLクライアントとサーバーのプロトコルの解釈

目次MySQL クライアント/サーバー プロトコルMySQL サーバーから高いパフォーマンスを得る必...

VMware Workstation での VMware vSphere のセットアップ (グラフィック チュートリアル)

VMware vSphere は、業界をリードする最も信頼性の高い仮想化プラットフォームです。 v...

CSS3 box-shadow プロパティの詳細な例

CSS3 - 影の追加(ボックスシャドウの使用) CSS3 - div またはテキストに影を追加する...

Vue.js の watch メソッドと computed メソッドの違いの詳細な例

目次序文導入1. 作用機序2. 自然から3. 時計と計算の比較4. メソッドはデータロジックの関係を...

Vueはドラッグアンドドロップまたはクリックで写真をアップロードする機能を実装しています

この記事では、ドラッグアンドドロップやクリックによる画像のアップロードを実現するためのVueの具体的...

Win10にnginxをインストールして設定するプロセス

1. はじめにNginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プロキ...