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

推薦する

Navicat が MySQL にリモート接続するときに発生する 10060 不明エラーを解決する方法

はじめに:今日は、サーバー上のMySQLにリモート接続したいと思います。使用するソフトウェアはNav...

HTML で js を使用してローカル システム時間を取得する

コードをコピーコードは次のとおりです。 <div id="名前"> ...

Docker 上で Redis クラスターを構築する

目次1. イメージをプルする2. Redisコンテナを作成する3. コンテナを起動するためにクラスタ...

MySQL SHOW PROCESSLISTはトラブルシューティングの全プロセスを支援します

1. SHOW PROCESSLISTコマンドSHOW PROCESSLIST は実行中のスレッド ...

vue+springbootでログイン機能を実現

この記事の例では、ログイン機能を実現するためのvue+springbootの具体的なコードを参考まで...

MYSQL8.0.13 無料インストール版 設定チュートリアル例 詳細説明

1. ダウンロード、例として8.0を取り上げますダウンロードアドレス: https://dev.my...

クリックして展開し、全文を読む機能を実現する純粋なCSS

注記記事表示リストインターフェースを開発する場合、情報の基本的な概要を提供するために記事ヘッダーコン...

海外でダウンロードできる25個の新鮮で便利なアイコンセット

1. Eコマースアイコン2. アイコンスイーツ2 3. 携帯電話アイコンパック4. 旗アイコンセット...

MySQL の 3 つの Binlog 形式の概要と分析

1つ。 Mysql Binlog フォーマットの紹介 Mysql binlog ログには、State...

LinuxにMySQLデータベース5.6のソースコードをインストールし、ログインユーザーのパスワードを変更する

この記事では、主に Linux で MYSQL データベースをインストールする方法について説明し、M...

mysql はインデックスを無効にしますか?

mysql の IN はインデックスを無効にしますか?しませんよ! 結果をご覧ください: mysq...

UI を通じて Docker を管理する方法

Docker はますます多くのシナリオで使用されています。コマンドラインツールに慣れていない人にとっ...

clipboard.js の使用法の概要

目次(1)はじめに: (2)クリップボードの内容をコピーする方法は次のとおりです。 (3)関数演算に...

ウェブページ作成時に標準 HTML コードを使用する際のポイント

多くの Web サイト デザイナーが犯す最も一般的な間違いは、Web ページが IE で正常に表示さ...