Nginx + PHP 动静分离

必要条件:

1.  PHP(5.6.40)编译时,需要添加该四项参数(--enable-mysqlnd   --with-mysql=mysqlnd   --with-pdo-mysql=mysqlnd   --with-mysqli=mysqlnd ),目的使用mysqlnd连接mysql数据库。

    1.1. --with-mysql 针对 php 的数据库连接函数:mysql_connect

    1.2. 在php-fpm.conf 配置文件中修改监听的端口与IP(listen =  ip:port 或 listen = port)

 2.Nginx服务器的站点目录与PHP服务器上的站点目录要路径一致(两台服务器上都有统一路径的站点目录)。

    2.1. 也可以让Nginx与PHP服务器的站点目录都统一放在 NFS服务器上(这样就不需要Nginx及PHP服务器上分别都有一份内容相同及路径相同的站点目录)

    2.2. 在nginx.conf 配置文件中 

server{ 

... 

root /Server/data/html/www 

location ~* \.php?$ 

{ fastcgi_pass  php_server_ip:port ; 

fastcgi_index  index.php; 

include  fastcgi.conf; 

} 

}

3.补充扩展

什么是 mysqlnd?


mysqlnd (MySQL native driver) MySQL原生驱动,是由 PHP 提供的连接 mysql数据库的驱动程序,用于代替 libmysql驱动程序。

为什么要使用 mysqlnd?


1. 原生支持

libmysq驱动,依赖mysql客户端库(libmysqlclient)。

为了使用 libmysql驱动,需要在编译PHP之前安装好 mysql客户端库并指定其位置。

# 编译 php 使用 libmysql./configure --prefix=/usr/local/php \    --with-mysql=/path/to/mysql_config \    --with-mysqli=/path/mysql_config \    --with-pdo-mysql=/path/mysql_config \
    # 其它参数省略...
    make && make install

使用 mysqlnd 则不必安装 mysql 客户端,因为PHP原生支持、直接在编译 php 时使用以下几个项参数即可:

# 编译 php 使用 mysqlnd./configure --prefix=/usr/local/php \    --with-config-file-path=/etc/ \    --enable-mysqlnd \    --with-mysql=mysqlnd \    --with-mysqli=mysqlnd \    --with-pdo-mysql=mysqlnd \
    # 其它参数省略...
    make && make install

2. 高级功能

mysqlndZend引擎高度集成,因此提供更多高级特性,以及有效利用Zend进行加速。

3. license 版权

libmysqlMySQL AB公司开发的,现在版权属于 Oracle 公司,它使用 MYSQL License发布。mysqlnd 是由 Zend公司开发并使用 PHP License发布的,避免 Oracle 版权问题。

扩展


1. 连接 mysql 数据库的 PHP扩展库:

  • mysql 扩展 (Original MySQL) 在php 7.x版本被移除。

  • mysqli 增强扩展 (MySQL Improved Extension) 。

  • pdo_mysql (pdo for mysql) 从5.4.0开始默认使用 mysqlnd 驱动。

2. PDO 对象

  • PHP 数据对象 (PDO) 扩展,为PHP访问数据库定义了一个轻量级的一致接口。

  • PDO 提供了一个数据访问抽象层,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。



4.图解:

image.png


作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:怎样下载网站前端页面文件
下一篇:利用阿里云服务器ECS/SLB/RDS/EIP 构建高可用架构

发表评论

vidnami 在线视频创作工具--做海外推广营销视频必备工具

image.png


我们的折扣优惠是向观众推广Vidnami的绝妙方式。他们将即时访问 25% 的 Vidnami, 再加上我们的视频营销包免费。最棒的是,您将获得所有销售额的50%!

https://www.vidnami.com/c/Mr_xiaoxiao-vn-buy-discount 

期待各位的加入,让原创发挥活力,让阅读更有价值!登录注册
登录
用户名
密码
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱