mqzlp 发表于 2018-11-28 11:26:31

apache2.4:lamp+xcache

    小生博客:http://xsboke.blog.51cto.com
    小生 Q Q:1770058260


                                             -------谢谢您的参考,如有疑问,欢迎交流


  一、 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有两种方式:FastCGI、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能同时打开的文件数限制
   
  




页: [1]
查看完整版本: apache2.4:lamp+xcache