千家信息网

apache2.4:lamp+xcache

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,小生博客:http://xsboke.blog.51cto.com-------谢谢您的参考,如有疑问,欢迎交流一、 Lamp工作流程1. Client请求web server,请求页面为php动态页
千家信息网最后更新 2024年09月21日apache2.4:lamp+xcache

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

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


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


0