ホームページ  >  記事  >  バックエンド開発  >  Nginxの動的・静的分離動作説明

Nginxの動的・静的分離動作説明

小云云
小云云オリジナル
2018-03-29 09:33:564510ブラウズ

Nginx は強力な静的処理能力を備えていますが、動的処理能力が不十分であるため、企業では動的と静的な分離技術が一般的に使用されています。動的および静的分離テクノロジーでは、実際にはプロキシ メソッドが使用され、サーバー セクションに通常の一致を伴う場所を追加して、一致する項目を指定します。PHP の動的および静的分離: 静的ページは処理のために Nginx に渡され、動的ページは渡されます。 PHP-FPM モジュールまたは Apache に転送して処理します。 Nginx 構成では、場所の構成セクションと定期的なマッチングを通じて、静的ページと動的ページの異なる処理方法が実装されます。


Nginxの動的・静的分離動作説明

1. プロジェクトの概要

Web サイト全体の動的と静的な分離を実現するために wordpress をデプロイし、次の要件を達成します:

1. フロントエンド Nginx が静的リクエストを受け取り、それを直接返します。 NFS からクライアントへ。

2. フロントエンド Nginx は動的リクエストを受信し、FastCGI を介して処理するために PHP サーバーに転送します。

----静的な結果を取得した場合は、結果を NFS から直接取得して Nginx に渡し、クライアントに返します。

----データ処理が必要な場合、PHP サーバーはデータベースに接続し、結果を Nginx に返します

3 フロントエンドの Nginx は画像リクエストを受信し、処理のためにバックエンドの画像サーバーに渡します。 .jpg、.png、.gif、その他のリクエストの形式で。

Nginxの動的・静的分離動作説明

2. 全体的なアーキテクチャ図

Nginxの動的・静的分離動作説明

3. 構成の詳細

1. NFS サーバーの構成

2. Nginx サーバーの構成

まず第一に、両方の Nginxおよび PHP サーバー NFS をマウントします。統合された展開と便利な管理を実現します

mount 10.10.0.72:/app/blog /app/blog # NFS/app/blog をローカルの /app/blog にマウントします

次に Nginx を設定します

Nginx は主にサーバーにあります 場所の設定。 .php で終わるファイルを PHP サーバーに渡す場所を構成します。 Image には .jpg または gif で終わるものを渡します。他の構成はデフォルトのままにすることができます。

vim /etc/exports
/app/blog   10.10.0.0/24(ro,sync,root_squash,no_all_squash) # 只允许内网网段挂载,提高安全性。

cd /app/blog                                                # 将wordpress文件解压
tar  -xvf  wordpress-4.8.1-zh_CN.tar.gz

3.PHPサーバーの設定

PHP服务器的配置比较简单,主要讲PHP以FPM模式安装后进行简单的配置即可

yum install php-fpm php-mysql
vim /etc/php-fpm.d/www.conf
listen = 9000                                   # 只写监听端口,即监听所有IP
listen.allowed_clients = any                    # 允许所有IP进行访问。或者将这行注释。

4.MySQL服务器

yum install marirdb-server
/usr/local/mysql/bin/myhsql_secure_installation         #MySql初始化脚本,以下为每一项的翻译
  是否设置root密码
  输入密码
  确认密码
  是否设置匿名用户
  是否允许root远程登录
  删除test数据库
  现在是否生效
 
mysql -uroot -p 

create database wpdb;                                   # 创建wp数据库
grant all on wpdb.* to wpadm@'10.10.%' idenfied by 'centos';    # 授权用户。用户不存在系统会自动创建

5.Image服务器配置

yum install nginx                               # 安装Nginx
cd /app/image                                   # 将所有图片解压至此路径。图片的目录结构要保持原样
tar  -xvf  wordpress-4.8.1-zh_CN.tar.gz
 server {
        root      /app/image;                   # 仅仅修改根目录这一行即可。Httpd同理
        }                                       # 如果使用apache要注意在CentOS7下默认拒绝所有
nginx start                                     # 启动服务

6.配置wordpress

cp wp-config-sample.php wp-config.php           # 复制一个模板文件后改名作为主配置文件

vim wp-config.php
/** WordPress数据库的名称 */  
define('DB_NAME', 'wpdb');                      # wpdb为MySQL中创建的数据库

/** MySQL数据库用户名 */
define('DB_USER', 'wpadm');                     # wpadm为MySQL中授权的用户

/** MySQL数据库密码 */
define('DB_PASSWORD', 'centos');                # 授权用户的密码

/** MySQL主机 */
define('DB_HOST', '10.10.0.24');                # MySQL主机地址

至此配置就已经完成。达到了图片从图片服务器返回,静态nginx直接返回,动态交给PHP进行处理。

总结

1.前端Nginx要做好location匹配,将*.php与*.jpg等进行反向代理。

2.后端PHP服务器要修改配置文件,PHP自带配置文件只监听本地,且只允许本地访问

3.后端Image服务器,不论是apache还是Nginx要开启WEB服务。根目录要指向图片根目录,且根目录下的图片要与原本图片文件目录结构一致。

関連する推奨事項:

Nginx の動的および静的分離の古典的なケース構成

以上がNginxの動的・静的分離動作説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。