设为首页 收藏本站
查看: 1602|回复: 0

[经验分享] apache2.4:lamp+xcache

[复制链接]

尚未签到

发表于 2018-11-28 11:26:31 | 显示全部楼层 |阅读模式
    小生博客:http://xsboke.blog.51cto.com
    小生 Q Q:1770058260


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


  一、 Lamp工作流程
    DSC0000.jpg
  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. 案例环境
      DSC0001.png
    2. 搭建lamp平台
    Apache和mysql的安装这里不再介绍,直接从安装php开始

   首先安装php依赖包
    DSC0002.jpg
   安装libmcrypt
    DSC0003.jpg
   编译安装php
    DSC0004.jpg



    •   --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配置文件
    DSC0005.jpg
   优化php-fpm程序脚本路径
    DSC0006.jpg
   拷贝php-fpm配置文件
    DSC0007.jpg
   配置php-fpm文件
DSC0008.jpg

DSC0009.jpg

   启动php-fpm服务并开启9000tcp端口
    DSC00010.jpg
   在php server上新建虚拟主机目录用于存放php网页文件(并且创建两个测试页)
    DSC00011.jpg
   在mysql server上授权用于测试连接的账户,并且开启3306tcp端口
    DSC00012.jpg
   在apache server配置apache连接php server
   1)
    DSC00013.jpg
   2)
    DSC00014.jpg
   3)
    DSC00015.jpg
   4)
    DSC00016.jpg
   5)
    DSC00017.jpg
   6)
    DSC00018.jpg
   7)
    DSC00019.jpg
    3. 测试lamp平台
   首先测试php是否能够解析
    DSC00020.jpg
   测试能否连接mysql
    DSC00021.jpg
    4. 在php server上搭建xcache加速器
  1)  安装xcache缓存加速器
      DSC00022.jpg
     如果生成xcache的configure时报错,如果不报错则不需要解决这个问题了
      DSC00023.jpg
    解决办法:
     
     首先yum安装m4
      DSC00024.jpg
     然后yum安装autoconf
                   DSC00025.jpg
     重新生成configure文件
      DSC00026.jpg
     再次进行编译安装
                   DSC00027.jpg


  2)  安装完后出现此行提示代表安装成功
      DSC00028.jpg
     注释:这行参数需要记住,在php.ini配置文件中,添加xcache模块时,需要指定模块文件
     (xcache.so),而模块文件就存在此目录下
  3)  创建xcache缓存文件
      DSC00029.jpg
  4)  拷贝xcache后台管理程序到网站根目录,同时,也需要拷贝到apache服务器上一份
      DSC00030.jpg
  5)  配置php.ini文件,使php支持xcache
      DSC00031.jpg
     重启php-fpm服务
      DSC00032.jpg
  6)  测试
      DSC00033.jpg
  7)  修改php.ini的时区
      DSC00034.jpg
  8)  重启php-fpm并且进行验证
DSC00035.jpg

DSC00036.jpg

  5. Ab压力测试工具的安装和使用
   在客户机安装,直接yum安装即可
    DSC00037.jpg
  1)   ab工具的使用
    DSC00038.jpg
  2)   并发连接数也受linux能同时打开的文件数限制
    DSC00039.jpg
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640686-1-1.html 上篇帖子: cPanel之EasyApache (Apache Update)的使用 下篇帖子: apache+mysql+php+scws+myft_scws编译安装全程记录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表