小生博客:http://xsboke.blog.51cto.com
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、清丰网站维护、网站推广。
-------谢谢您的参考,如有疑问,欢迎交流
一、 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能同时打开的文件数限制
   
文章标题:apache2.4:lamp+xcache
标题网址:http://www.scyingshan.cn/article/gieojd.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 