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 インストール チュートリアル (図解)

推薦する

MySQL での r2dbc の使用に関する詳細な理解

導入MySQL は、私たちが日常業務で使用する非常に一般的なデータベースです。MySQL は現在 O...

商品クエリ機能を実現するJavaScript

この記事の例では、商品検索機能を実現するためのJavaScriptの具体的なコードを参考までに共有し...

MYSQLは継続サインイン機能を実装しており、サインイン後1日経過すると最初から開始します(SQL文)

1. テストテーブルを作成する テーブル `testsign` を作成します ( `userid`...

Linuxの同時実行は簡単です。このようにするだけです

並行処理関数 i の `grep server /etc/hosts | awk '{pri...

MySQLクエリ時にフィールドにデフォルト値を割り当てる方法

必要フィールドをクエリする場合、フィールドに同じ値を指定する必要があります。この値はハードコードする...

カラフルな時計効果を実現する JavaScript キャンバス

キャンバスを使ってカラフルな時計を書いてみよう! 1. タイトル(1)時計のケースが与えられ、ページ...

mysql8.0.11 winx64 手動インストールと設定チュートリアル

まず、私の日常生活についてお話しします。MySQLの急速なアップデートにより、MySQLはバージョン...

Vueコンポーネントドキュメントを自動生成する方法を分析する

目次1. 現状2. コミュニティソリューション2.1 事業レビュー3. 技術的ソリューション3.1....

Bootstrap FileInputは画像アップロード機能を実装します

この記事の例では、Bootstrap FileInputの具体的なコードを共有して、画像アップロード...

jsを使用して中国語からピンインへの変換の完全な手順を実行します

jsを使用して、中国語をピンインに変換するパッケージを作成しました。倉庫のアドレスはpinyin-p...

JavaScript 組み込みの日付と時刻の書式設定のサンプル コード

1. 基礎知識(日付オブジェクトのメソッド) 😜 getFullYear() は年を表す4桁の数字を...

vue-tableは追加と削除を実装します

この記事では、vue-table の追加と削除の具体的なコードを参考までに紹介します。具体的な内容は...

表には表示したい境界コードが表示されます

テーブルの共通プロパティ基本的な属性は、width (幅)、height (高さ)、border (...

Vue が scss (mixin) をグローバルに導入

目次1. ミックスイン.scss 2. 単一ファイルの使用3. グローバルマウント3.1 依存関係の...

Flask アプリケーションの Docker デプロイ実装手順

1. 目的Flask アプリケーションをローカルで作成し、Docker でパッケージ化し、独自のサー...