首页 > 代码库 > apache2.4:lamp+xcache

apache2.4:lamp+xcache

一、 Lamp工作流程

   技术分享

 1. Client请求web server,请求页面为php动态页面

 2. Web server通过cgifastcgiapache模块去连接php

 3. php serverphp-fpm组件处理请求,通过php解析器,解析php语言

 4. 然后php server通过mysql协议,调取数据并且返回给web server

二、Web server连接php的方式

  1. Apache

    Apache有三种方式:CGI模式、fastCGI模式、apache模块。

  2. Nginx

    Nginx有两种方式:CGIproxy-pass

三、 FastCGI工作机制

   其中fastCGI的性能比CGI好,所以生产环境一般都是同fastCGI模式

   按客户端请求方式有两种:动态请求和静态请求

    • 静态请求由apache直接响应返回

    • 动态请求需要通过fastcgi协议调用phpserver并执行返回给apache,有apache返回解释执行后的结果,如果这个过程涉及对数据的操作,php还会通过mysql协议调用mysql server

四、 压力测试工具

  1. 常用压力测试工具

    abhttp_loadwebbenchsiege

  2. Ab(由apache自带的压力测试工具)

    • ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问

    • 它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginxlighthttptomcatIIS等其它Web服务器的压力

    • Ab使用注意事项。Linux默认只能同时打开1024个文件,所以最多只能同时处理1024个请求,这个参数由变量ulimit设置,ulimit  -n可以查看当前允许的同时打开文件数,也可以直接设置值

五、Php加速器xcache

    1. 缓存原理

      当php server解释器,解析某个php页面后,会将解析的内容缓存在缓存文件中,当同一个php

      页面被多次请求时,就不需要每次都进行解析然后再响应给apache

六、 案例:lamp+xcache

  1. 案例环境

    技术分享

  2. 搭建lamp平台

    Apache和mysql的安装这里不再介绍,直接从安装php开始

 

   首先安装php依赖包

   技术分享

   安装libmcrypt

   技术分享

   编译安装php

   技术分享

    • --prefix=/usr/local/php5.6:指定安装目录

    • --with-mysql=mysqlnd //支持mysql

     --with-pdo-mysql=mysqlnd//支持pdo模块

     --with-mysqli=mysqlnd//支持mysqli模块

     这三个参数是实现lamp分离的重要参数

    • --with-openssl//支持openssl模块

    • --enable-fpm//支持fpm模式

    • --enable-sockets//启用socket支持

    • --enable-sysvshm//启用系统共享内存支持

    • --enable-mbstring//多字节字串、像我们的中文就是多字节字串

    • --with-freetype-dir//支持freetype、就要装freetype-devel、跟字体相关的、字体解析工具

    • --with-jpeg-dir

     --with-png-dir

     注:上面的二选项的作用:处理jpegpng图片的、php可以动态生成jpeg图片

    • --with-zlib//是个压缩库、在互联网传输时用来压缩传输的

    • --with-libxml-dir=/usr//这个libxml是用来解析xml的、指定/usr

    • --enable-xml   //支持xml

    • --with-mhash//支持mhash

    • --with-mcrypt=/usr/local/libmcrypt //libmcrypt-devel这个程序包所指定的

    • --with-config-file-path=/etc//指定配置文件的存放路径的

    • --with-config-file-scan-dir=/etc/php.d  //配置文件扫描路径

    • --with-bz2  //支持BZip2

   Copy配置文件

   技术分享

   优化php-fpm程序脚本路径

   技术分享

   拷贝php-fpm配置文件

   技术分享

   配置php-fpm文件

   技术分享

   技术分享

   启动php-fpm服务并开启9000tcp端口

   技术分享

   在php server上新建虚拟主机目录用于存放php网页文件(并且创建两个测试页)

   技术分享

   在mysql server上授权用于测试连接的账户,并且开启3306tcp端口

   技术分享

   在apache server配置apache连接php server

   1

   技术分享

   2

   技术分享

   3

   技术分享

   4

   技术分享

   5

   技术分享

   6

   技术分享

   7

   技术分享

  3. 测试lamp平台

   首先测试php是否能够解析

   技术分享

   测试能否连接mysql

   技术分享

  4. 在php server上搭建xcache加速器

    1)  安装xcache缓存加速器

     技术分享

     如果生成xcacheconfigure时报错,如果不报错则不需要解决这个问题了

     技术分享

    解决办法:

     

     首先yum安装m4

     技术分享

     然后yum安装autoconf

                   技术分享

     重新生成configure文件

     技术分享

     再次进行编译安装

                   技术分享


    2)  安装完后出现此行提示代表安装成功

     技术分享

     注释:这行参数需要记住,在php.ini配置文件中,添加xcache模块时,需要指定模块文件

     (xcache.so),而模块文件就存在此目录下

    3)  创建xcache缓存文件

     技术分享

    4)  拷贝xcache后台管理程序到网站根目录,同时,也需要拷贝到apache服务器上一份

     技术分享

    5)  配置php.ini文件,使php支持xcache

     技术分享

     重启php-fpm服务

     技术分享

    6)  测试

     技术分享

    7)  修改php.ini的时区

     技术分享

    8)  重启php-fpm并且进行验证

     技术分享

     技术分享

 5. Ab压力测试工具的安装和使用

   在客户机安装,直接yum安装即可

   技术分享

   1)   ab工具的使用

   技术分享

   2)   并发连接数也受linux能同时打开的文件数限制

   技术分享


apache2.4:lamp+xcache