Centos 6.9 编译安装 LAMP + xcache
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Centos 6.9 编译安装 LAMP apache 2.4 + Mysql 5.7 + php5.6.34 + Fast-cgi + xcache实验环境:VMware Workstation P
千家信息网最后更新 2026年11月03日Centos 6.9 编译安装 LAMP + xcache
Centos 6.9 编译安装 LAMP apache 2.4 + Mysql 5.7 + php5.6.34 + Fast-cgi + xcache
实验环境:VMware Workstation Pro 14(试用版)系统平台:CentOS release 6.9 (Final) 内核 2.6.32-696.el6.x86_64Apache/2.4.29 (Unix)PHP 5.6.34 (cli)xcache 3.2.01. 编译安装apache 2.4
参考Centos 6.9 apahce 2.4.29编译安装
2. 二进制安装Mysql 5.7
参考CentOS 6.9 自定义单实例 二进制方式 安装mysql5.7.21
3. PHP官网下载Stable版本
http://php.net/downloads.php
# wget http://hk1.php.net/distributions/php-5.6.34.tar.bz24.安装依赖包
有个别包需要EPEL源,可提前配置好Aliyun的Yum源注意:以下依赖包仅仅限于下面演示的编译参数,实际按需。#yum install bzip2-devel libxml2-devel libmcrypt-devel libmcrypt curl-devel gd-devel如果需要后期动态添加模块,还需要安装autoconf注意:php-7.0以上版本使用--enable-mysqlnd --withmysqli=mysqlnd ,原--with-mysql不再支持
5.编译安装
编译参数
对于mysql的api方法,先了解一下:
PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖)。从PHP 5.4开始,对于未明确指定--with-mysql的情形,mysql本地驱动将会被安装。可以参考如下配置:比如:--with-mysql > 相当于该参数值为mysqlnd--with-mysqli > 相当于该参数值为mysqlnd--with-pdo-mysql > 相当于该参数值为mysqlnd因为,--with-mysqli=/usr/local/mysql/bin/mysql_config 这种才是明确指定的表示方法# tar xvf php-5.6.34.tar.bz2# cd php-5.6.34./configure --prefix=/usr/local/php-5.6.34 \--with-openssl \--enable-mysqlnd \--with-mysql=/usr/local/mysql \--with-mysqli \--with-pdo-mysql \--enable-mbstring \--with-freetype-dir \--with-jpeg-dir \--with-png-dir \--with-zlib \--with-libxml-dir=/usr \--enable-xml \--enable-sockets \--enable-fpm \--with-mcrypt \--with-config-file-path=/etc \--with-config-file-scan-dir=/etc/php.d \--with-bz2 \--with-iconv \--with-gd \--with-curl \--disable-debug \--enable-calendar编译与安装
# make -j 8出现Build complete. 那么,恭喜编译成功# make install以下这些提示,按需。Wrote PEAR system config file at: /usr/local/php-5.6.34/etc/pear.confYou may want to add: /usr/local/php-5.6.34/lib/php to your php.ini include_path/app/httpd/php-5.6.34/build/shtool install -c ext/phar/phar.phar /usr/local/php-5.6.34/binln -s -f phar.phar /usr/local/php-5.6.34/bin/pharInstalling PDO headers: /usr/local/php-5.6.34/include/php/ext/pdo/创建一个软链接,方便管理版本
#cd /usr/local/#ln -s php-5.6.34/ php6.复制php配置文件
注意,这些文件是在源码目录里# cp php.ini-production /etc/php.ini# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm# chmod +x /etc/rc.d/init.d/php-fpm创建一个存放其他扩展配置的目录# mkdir /etc/php.d7.修改php-fpm启动脚本
# vim /etc/rc.d/init.d/php-fpm > 这一步不修改也行,只不过这里是为了后续切换不同版本时方便prefix=/usr/local/php > 把这行修改为指定的编译路径8.生成php-fpm配置文件
# sed -ri.bak s#php-5.6.34#php#g /usr/local/php/etc/php-fpm.conf.default# mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf# mv /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf > 不用9.添加php-fpm为启动服务
# chkconfig --add php-fpm# chkconfig php-fpm on10.配置httpd支持php
# vim /etc/httpd2.4/httpd.conf确保以下2条取消注释LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so# 如果使用的是虚拟主机形式,把下面4行添加到主机标签中AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phpsProxyRequests OffProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/www/virtualhost/$1其中/app/www/virtualhost指的是站点文件目录例子: DocumentRoot "/app/www/virtualhost" ServerName www.hunk.tech AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/www/virtualhost/$1 DirectoryIndex index.php index.html AllowOverride None Options None Require all granted # service httpd restart# service php-fpm start10.测试php
#ss -nltfcgi正在监听端口State Recv-Q Send-Q Local Address:Port LISTEN 0 128 127.0.0.1:9000 编辑一个php的测试文件#vim /app/www/virtualhost/index.php11.连接数据库测试
在mysql中创建一个用于连接的账户
mysql> create user test@'192.168.5.102' identified by 'password';mysql5.7数据库下已经没有password这个字段了,password字段改成了authentication_string并且密码策略控制着密码相关以下为修改默认的密码策略,0=LOW,至少8个字符mysql> set global validate_password_policy=0测试代码如下:
# vim /app/www/virtualhost/check.phpconnect_errno) { echo "连接失败"; exit();}echo "连接成功";/* close connection */$mysqli->close();?># curl www.hunk.tech/check.php连接成功以下代码为判断mysql和mysqli扩展是否安装
The mysql extension is installed."; } else { echo "The mysql extension is not installed..
"; } if (mysqliinstalled()){ echo "The mysqli extension is installed.
"; } else { echo "The mysqli extension is not installed..
"; }?>12.测试未启用加速器前的性能
#ab -c 1000 -n 5000 192.168.5.102/check.phpServer Software: Apache/2.4.29Server Hostname: 192.168.5.102Server Port: 80Document Path: /check.phpDocument Length: 12 bytesConcurrency Level: 1000Time taken for tests: 6.751 secondsComplete requests: 5000Failed requests: 0Write errors: 0Total transferred: 915000 bytesHTML transferred: 60000 bytesRequests per second: 740.59 [#/sec] (mean)Time per request: 1350.282 [ms] (mean)Time per request: 1.350 [ms] (mean, across all concurrent requests)Transfer rate: 132.35 [Kbytes/sec] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 0 210 625.4 1 3019Processing: 1 436 954.0 190 6676Waiting: 1 435 954.0 189 6675Total: 63 645 1295.6 194 6734Percentage of the requests served within a certain time (ms) 50% 194 66% 215 75% 335 80% 405 90% 1341 95% 3439 98% 6299 99% 6697 100% 6734 (longest request)13.编译安装 xcache
去官网下载源码包
http://xcache.lighttpd.net
http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz
安装phpize需要的依赖包
#yum install m4 autoconf解压缩xcache-3.2.0.tar.bz2
#tar xvf xcache-3.2.0.tar.gz生成xcanche编译文件
# cd xcache-3.2.0#/usr/local/php/bin/phpize > 注意,这里指向的是php目录Configuring for:PHP Api Version: 20131106Zend Module Api No: 20131226Zend Extension Api No: 220131226编译安装xcache
# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config注意,--sysconfdir指向的是Php存放配置文件的目录# make && make installInstalling shared extensions: /usr/local/php-5.6.34/lib/php/extensions/no-debug-non-zts-20131226/复制xcache配置文件
#cp xcache.ini /etc/php.d/重启php服务并验证
# service php-fpm restart# /usr/local/php/bin/php -m|grep -i xcacheXCacheXCache Cacher通过phpinfo也可以看到

14.测试启用加速器后的性能
#vim /etc/php.d/xcache.inixcache.optimizer = Onxcache.size = 1024M#ab -c 1000 -n 5000 192.168.5.102/check.phpServer Software: Apache/2.4.29Server Hostname: 192.168.5.102Server Port: 80Document Path: /check.phpDocument Length: 12 bytesConcurrency Level: 1000Time taken for tests: 6.541 secondsComplete requests: 5000Failed requests: 0Write errors: 0Total transferred: 915000 bytesHTML transferred: 60000 bytesRequests per second: 764.46 [#/sec] (mean)Time per request: 1308.116 [ms] (mean)Time per request: 1.308 [ms] (mean, across all concurrent requests)Transfer rate: 136.62 [Kbytes/sec] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 0 277 612.3 2 3017Processing: 1 425 835.1 156 4186Waiting: 1 424 835.1 155 4185Total: 61 702 1187.2 167 5262Percentage of the requests served within a certain time (ms) 50% 167 66% 235 75% 436 80% 1021 90% 2137 95% 3817 98% 5138 99% 5197 100% 5262 (longest request)貌似简单的测试并没有发现什么优势呢
编译
文件
配置
测试
参数
版本
目录
成功
密码
数据
数据库
参考
不用
主机
二进制
代码
加速器
字段
性能
指向
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网
互联网科技有限公司
上海喔噻互联网科技有限公司
互联网金融 科技
互联网科技革命
互联网科技logo设计
深圳艾佳互联网科技
居家互联网科技有限公司
互联网科技博主是什么意思
互联网科技与管理
广州市恰铎互联网科技有限公司
民营互联网公司国防科技
阿里互联网科技企业
互联网金融科技名词解释
长沙互联网科技
互联网公司高科技产品
有人说阿里系是互联网科技企业
互联网科技对化妆品行业
互联网科技创新创业项目
北京瑞云互联网科技有限公司
互联网科技企业
保险科技 互联网保险
广东猪兼强互联网科技有限公司
深圳恒合互联网络科技有限公司
互联网金融 科技金融
互联网科技公司官网
江苏南京365互联网科技
玉溪互联网科技怎么选
明优互联网科技有限公司
互联网科技数字货币