Centos 6.9 编译安装 LAMP + xcache
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,Centos 6.9 编译安装 LAMP apache 2.4 + Mysql 5.7 + php5.6.34 + Fast-cgi + xcache实验环境:VMware Workstation P
千家信息网最后更新 2025年11月13日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安全错误
数据库的锁怎样保障安全
hadoop分布式数据库
张北最早的数据库
常见的数据库连接技术不包括
重构数据库技术
指挥中心开展网络安全自查
上海什么宝软件开发
校园网公共网络安全吗
boss服务器出了问题吗
缀初网络技术上海
服务器到底有没有显卡
数据库取当前行数据
支部委员会讨论网络安全
海南软件开发哪家好
荥阳市法院网络安全
维护网络安全防范网络犯罪
计算机网络技术榜样
猎灵服务器经验倍率调整
访问组态王数据库
网络安全知识宣传 手势舞
邮件发送到对方服务器
哪个云盘服务器比较便宜
军事网络安全与战略教育
沈阳软件开发项目案例
山东通用软件开发均价
软件开发实施一体化
细菌靶点数据库
计算机网络安全缩写
数据库与客户端的对接
tbc魔兽服务器能够容纳多少人
怎么在自己电脑上连接他人数据库