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を使用する簡単な例

推薦する

開発効率を向上させる 20 の JavaScript ヒント

目次1. 配列を宣言して初期化する2. 合計、最小値、最大値を計算する3. 文字列、数値、オブジェク...

Angularデータバインディングとその実装の詳細な説明

目次序文データバインディングとは何ですか? Angular のデータバインディングの種類一方向データ...

Gokudōゲームにおけるフロントエンド知識のまとめ

背景日本語を学び始めた当初は、日本語の50音を覚えるのは簡単ではなく、特にカタカナを覚えるのは困難で...

nginx ログを elasticsearch にインポートする方法の例

nginx ログは filebeat によって収集され、logstash に渡され、logstash...

HTML で vue-router を使用するサンプル コード

vue と vue-router の紹介 <script src="https://...

Linux コマンドラインでメールを送信する 5 つの方法 (推奨)

シェル スクリプトで電子メールを作成する必要がある場合は、コマンド ラインから電子メールを送信する知...

Linux でディスクをマウントし、起動時に自動的にマウントするように設定する方法

皆さんの時間は貴重だと承知しているので、プロセス コマンドを直接書き留めておきます。設定できます。原...

Visual Studio Codeを使用してMySqlデータベースに接続し、クエリを実行します。

Visual Studio Code は、Microsoft が開発した強力なテキスト エディター...

Vue.jsは音楽プレーヤーを実装します

この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...

CSSはクーポンスタイルを実装するために放射状グラデーションを使用します

この記事では、CSS で放射状グラデーションを使用して、次の図に示すクーポン スタイルの効果を実現す...

vue3 を使用してカウント関数コンポーネントのカプセル化例を実装する

目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. アイデア2. 準備2. ...

CentOS8 システムをベースにした Gitlab を構築するために Docker を使用する詳細なチュートリアル

目次1. Dockerをインストールする2. GitLabをインストールする3. GitLabを初期...

Vueは単純なランダムロールコールを実行します

目次レイアウト部分: <div id="アプリ"> <p>...

Docker ビルド kubectl イメージ実装手順

プログラムサービスがgitlab ci/cdと統合されたk8sを使用してデプロイされている場合、gi...

HTMLの空リンクの役割についての簡単な説明

空のリンク:つまり、ターゲット エンドポイントとのリンクはありません。フォーマット <a hr...