Centos 7.3部署灯架构动静分离

  
  

博文大纲:

  
      <李>一、灯动静分离的概念   <李>二,灯的安装与配置李   <李>三、web网站压力测试李   <李>四、部署PHP加速软件Xcache李   <李>五、部署bbs论坛李   
     

之前写过一篇部署灯平台的博文:基于centos 7搭建LNMP架构,只是那个是基于同一台服务器部署的,用来做测试网站或者访问量不大的情况下,是可以应付的,那么?如果该web网站访问量特别大呢?

  

一、灯动静分离的概念

  

当需要搭建一个高效的web架构时,采用动静分离无疑是最好的选择,这篇博文将写下来灯的动静分离部署方式。

  

所谓灯?灯架构是目前最成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态网络站点服务及其应用开发环境。与之并肩的还有LNMP, LTMP等,灯说白了就是Linux操作系统上安装Apache网站服务,构建php/perl/Python运行环境来连接mysql数据库,四个组件合起来就简称“灯”。LNMP只不过是用Nginx来搭建了这个httpd服务。

  

PHP在灯环境下共有三种工作模式:CGI模式,apache模块,FastCGI (FCGI)模式. CGI模式下运行PHP、性能不是很好.FastCGI的方式和apache模块的不同点在于:FastCGI方式PHP是一处独立的进程,所有PHP子进程都由PHP的一个叫做php-fpm的组件负责管理;而apache模块化方式运行的PHP,则是apache负责调用PHP完成工作。PHP的FastCGI方式性能要比apache模块化方式强很多。

  

这里将以FastCGI方式编译安装灯架构。

  

FastCGI的工作机制:
客户端发起请求,请求分为2种,一种是静态请求它可以直接由Apache直接响应返回;另一种是动态的请求,如其中包含中php或者Perl这种脚本解释性语言,则由Apache服务器通过FastCGI协议调用php服务器执行并返回给Apache由Apache返回解释执行后的结果,如果这个过程中涉及到对数据的操作,此时php服务器还会还会通过mysql协议调用mysql服务器。

  

示意图如下:
 Centos 7.3部署灯架构动静分离

  

二,灯的安装与配置

  

1,环境准备

  

我这里环境如下:

  

 Centos 7.3部署灯架构动静分离

  

我这里已经存在了Apache服务器和MySQL服务器,自行部署即可,可参考博文:Apache服务的安装及工作模式介绍;基于centos7搭建MySQL数据库。

  

2,对PHP服务器进行部署

  

<强>这里直接开始部署PHP服务器

  

下载我提供的源码包,然后上传至PHP服务器。

  
 <代码> #以下为安装PHP及其依赖
  (root@php ~) #焦油zxf libmcrypt-2.5.7.tar。广州- c/usr/src
  (root@php ~) #焦油zxf php-5.6.27.tar。广州- c/usr/src
  (root@php ~) # yum - y安装libxml2-devel openssl-devel bzip2-devel
  # cd/usr/src/libmcrypt-2.5.7 root@php ~
  [root@php libmcrypt-2.5.7] # ./configure——prefix=/usr/地方/libmcrypt,,使,,制作安装
  [root@php libmcrypt-2.5.7] # cd . ./php-5.6.27/[root@php php-5.6.27] # ./configure——prefix=/usr/地方/php5.6——使用mysql=mysqlnd with-pdo-mysql=mysqlnd——with-mysqli=mysqlnd——使用openssl enable-fpm——enable-sockets enable-sysvshm——enable-mbstring with-freetype-dir——with-jpeg-dir with-png-dir——with-zlib with-libxml-dir=/usr——启用xml——with-mhash with-mcrypt=/usr/地方/libmcrypt——with-config-file-path=/etc with-config-file-scan-dir=/etc/php。d——with-bz2 enable-maintainer-zts,,使,,使安装 
  
  

上面编译安装PHP的选项作用解释如下:

  
      <李>——prefix=/usr/地方/php5.6 #安装位置李   <李>——使用mysql=mysqlnd #支持mysql李   <李>——with-pdo-mysql=mysqlnd #支持pdo模块李   <李>——with-mysqli=mysqlnd #支持mysqli模块
    #上面的三选项的作用:数据库与php不在一个服务器上,指定此种方式,安装数据库连接驱动。   <李>——使用openssl #支持openssl模块李   <李>——enable-fpm #支持fpm模式李   <李>——enable-sockets #启用套接字支持   <李>——enable-sysvshm #启用系统共享内存支持   <李>——enable-mbstring #多字节字串,像我们的中文就是多字节字串李   <李>——with-freetype-dir #支持freetype的,就要装freetype-devel,跟字体相关的,字体解析工具李   <李>——with-jpeg-dir李   <李>——with-png-dir

    Centos 7.3部署灯架构动静分离