Nginx+Apache の動的および静的分離の導入の詳細な例

Nginx+Apache の動的および静的分離の導入の詳細な例

Nginx の動的および静的分離の概要

Nginx は静的処理能力が強力ですが、動的処理能力が不十分です。そのため、企業は動的と静的の分離技術を使用して、PHP を動的と静的に分離することがよくあります。

  • 静的ページはNginxによって処理されます
  • 動的ページはPHP-FPMモジュールまたはApacheによって処理されます

Nginx 構成では、場所構成セグメントと通常のマッチングを通じて、静的ページと動的ページの異なる処理方法が実装されます。

リバースプロキシの原則

Nginx は Web サーバーとして使用できるだけでなく、リバース プロキシ、負荷分散、キャッシュの機能も備えています。

Nginx はプロキシ モジュールを使用して、クライアントのリクエストを上流サーバーにプロキシします。このとき、nginx と上流サーバー間の接続は http プロトコルを介して実行されます。

リバース プロキシ機能を実装する際の Nginx の最も重要な命令は proxy_pass です。これは、URI、クライアント パラメーター、またはその他の処理ロジックに従って、ユーザー要求をアップストリーム サーバーにディスパッチできます。

動的および静的分離を実現するためにnginxを構成する

この場合、企業のニーズに応じて、Nginx は動的と静的の分離を実現するように構成されます。PHP ページのリクエストは処理のために LAMP に転送され、静的ページは処理のために Nginx に引き渡され、動的と静的の分離を実現します。

アーキテクチャは図に示されている

ここに画像の説明を挿入

設定手順

1. バックエンドLAMP環境のセットアップとデバッグ

①Apacheサービスをインストールする

[root@localhost ~]# yum install httpd httpd-devel -y

②ファイアウォール上のhttpサービスの権限を設定する

[root@localhost ~]# ファイアウォール-cmd --permanent --zone=public --add-service=http
成功
[root@localhost ~]# ファイアウォール-cmd --permanent --zone=public --add-service=https
成功   
[root@localhost ~]# ファイアウォール-cmd --reload 
成功
[root@localhost ~]# systemctl httpdを起動します

③mariadbをインストールする

mariadb データベース管理システムは MySQL のブランチであり、主にオープンソース コミュニティによって管理され、GPL の下でライセンスされています。mariadb の目的は、API とコマンド ラインを含めて MySQL と完全に互換性を持たせ、簡単に MySQL の代替となるようにすることです。

[root@localhost ~]# yum install mariadb mariadb-server mariadb-libs mariadb-devel -y
[root@localhost ~]# systemctl mariadb.service を開始します

④MySQLセキュリティ設定ウィザード

[root@localhost ~]# mysql_secure_installation

⑤PHPとサポートソフトウェアをインストールする

[root@localhost ~]# yum install php -y
[root@localhost ~]# yum install php-mysql -y
[root@localhost ~]# yum install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath -y

⑥ウェブサイトのメインページを変更する

[root@localhost ~]# cd /var/www/html
[root@localhost html]# vim index.php
<?php
  echo "これは Apache テスト Web です";
?>

[root@localhost html]# systemctl httpdを再起動します

⑦アクセステスト、URL http://192.168.150.214/index.php を入力

ここに画像の説明を挿入

2. nginxをコンパイルしてインストールする

①サポートソフトウェアをインストールする

[root@localhost ~]# yum install gcc gcc-c++ pcre-devel zlib-devel -y

②実行ユーザーとグループの作成

[root@localhost ~]# useradd -M -s /sbin/nologin nginx

③コンパイルしてインストール

[root@localhost LNMP-C7]# tar zxvf nginx-1.12.2.tar.gz -C /opt
[root@localhost LNMP-C7]# cd /opt/nginx-1.12.2/
[root@localhost nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --http_stub_status_module を追加

[root@localhost nginx-1.12.2]# make && make install
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

④サービス管理統制

[root@localhost ~]# vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: -99 20
# 説明: Ngins サービス制御スクリプト
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
ケース「$1」
始める)
  $PROG
  ;;
停止)
  kill -s QUIT $(cat $PIDF)
  ;;
再起動)
   $0 ストップ
   0ドルからスタート
   ;;
リロード
   kill -s HUP $(cat $PIDF)
   ;;
*)
   echo "使用法: $0 {start|stop|restart|reload}"
   出口1
エサック
終了 0

[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# chkconfig --add nginx
[root@localhost ~]# サービス nginx を開始

⑤サービスを開始する

[root@nginx ~]# systemctl stop firewalld.service
[root@nginx ~]# setenforce 0
[root@nginx ~]# サービス nginx を開始

⑥動的ページリクエストを処理するようにnginxを設定する

[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
    場所 ~ \.php$ {
      プロキシパス http://192.168.150.214;
    }

[root@nginx ~]# サービスnginxを再起動します

⑦アクセステスト

ここに画像の説明を挿入
ここに画像の説明を挿入

要約する

上記は、編集者が紹介したNginx + Apacheの動的および静的分離の展開の詳細な例です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

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

<<:  既存のMySQLデータベースの文字セットを統一する方法

>>:  Vue3ルーティングVueRouter4を使用する簡単な例

推薦する

実践で遭遇するフロントエンドの基本(HTML、CSS)

1. div css マウスの手の形は cursor:pointer; です。 2. HTML の相...

nginx のロードバランシングとリバースプロキシの説明

目次負荷分散負荷分散分類1. DNS 負荷分散2. IP負荷分散3. リンク層の負荷分散4. ハイブ...

Linuxのシグナルメカニズムについての簡単な説明

目次1. シグナルリスト1.1. リアルタイム信号と非リアルタイム信号1.2 信号ステータス1.3 ...

Vue で Openlayer を使用して読み込みアニメーション効果を実現する

注意: スコープアニメーションは使用できません。 ! ! ! GIF経由 <テンプレート>...

::before/:before と ::after/:after の使用に関する深い理解

パート1: 基礎1. :active や :hover などの疑似クラスとは異なり、これらはすべて疑...

よくある CSS エラーと解決策

コードをコピーコードは次のとおりです。 IE6 と FF の違い: background:orang...

Nginxは特定のページへのIPアクセスを制限します

1.すべてのIPアドレスが3つのページa1.htm、a2.htm、a3.htmにアクセスするのを禁止...

CocosCreatorでスワイプした位置にテクスチャを表示する方法

目次1. プロジェクト要件2. 文書の内容3. プロジェクト例4. プロジェクトコード1. プロジェ...

Nginx 転送ソケットポート設定の詳細な説明

Nginx によるソケット ポート転送の一般的なシナリオ: オンライン学習アプリケーションでは、通常...

vuex ベースのショッピングカート機能の実装

この記事の例では、ショッピングカート機能を実装するためのvuexの具体的なコードを参考までに共有して...

JSX を使用してマークアップ コンポーネント スタイルの開発を作成する例 (フロントエンドのコンポーネント化)

目次JSX環境の構築NPMを初期化するwebpackをインストールするBabelをインストールするw...

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

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

vmware14Pro で Ubuntu システム インターフェイスが小さすぎる問題の解決方法の詳細な説明

1. 動作環境vmware14proウブントゥ 16.04LTS 2. 問題の説明vmware14P...

初心者向け入門チュートリアル: ドメイン名の解決とバインディング

では、ドメイン名を登録して仮想ホストを購入した後、IE でドメイン名を入力して Web サイトを開く...

Dockerfile テキストファイルの使用例の分析

Dockerfile は、イメージをビルドするために使用されるテキスト ファイルです。テキスト コン...