首页 > Web开发 > 详细

apache2.4:lamp+xcache

时间:2017-04-20 11:18:16      阅读:258      评论:0      收藏:0      [点我收藏+]

一、 Lamp工作流程

   技术分享

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

 2. Web server通过cgi、fastcgi或apache模块去连接php

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

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

二、Web server连接php的方式

  1. Apache

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

  2. Nginx

    Nginx有两种方式:CGI、proxy-pass

三、 FastCGI工作机制

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

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

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

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

四、 压力测试工具

  1. 常用压力测试工具

    ab、http_load、webbench、siege

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

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

    • 它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它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

     注:上面的二选项的作用:处理jpeg、png图片的、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缓存加速器

     技术分享

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

     技术分享

    解决办法:

     

     首先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

原文:http://xsboke.blog.51cto.com/12096269/1917575

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!