Centos 6.9 编译安装 LAMP + xcache
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,Centos 6.9 编译安装 LAMP apache 2.4 + Mysql 5.7 + php5.6.34 + Fast-cgi + xcache实验环境:VMware Workstation P
千家信息网最后更新 2025年01月28日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.0
1. 编译安装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.bz2
4.安装依赖包
有个别包需要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/ php
6.复制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.d
7.修改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 on
10.配置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 start
10.测试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.php
11.连接数据库测试
在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安全错误
数据库的锁怎样保障安全
通信软件开发直销价
电脑的网络安全证书怎么考
模考软件开发
苏州携旅网络技术有限公司
软件开发时期依次是
软件开发先收策划费
嘉定区品牌金融网络技术服务热线
班级电信网络安全调查报告
如何避免数据库被改
单点登录的管理平台报表服务器
综合风险基础数据库包括
图标怎么编辑数据库
服务器地址我的世界
数据库服务器结构
ACCESS数据库技术路线
网络安全管理考试模拟题
多个客户端连接一台服务器
计算机应用网络技术动漫
云服务器sql如何多人使用
数据库迁移过程中又有新数据
小视频剪辑软件开发
常州多功能软件开发资费
数据库验证规则性别
济南服务器租金
珠海网络安全知识
前端提交了数据数据库查不到
战地5服务器1
大智慧网络技术有限公司
南京水彩笔互联网科技
数据库附加数据