返回顶部
首页 > 资讯 > 数据库 >Centos 6.9 编译安装 LAMP + xcache
  • 538
分享到

Centos 6.9 编译安装 LAMP + xcache

2024-04-02 19:04:59 538人浏览 八月长安
摘要

Centos 6.9 编译安装 LAMP apache 2.4 + Mysql 5.7 + PHP5.6.34 + Fast-cgi + xcache 实验环境:VMware Workstation Pro

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_64
Apache/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  这种才是明确指定的表示方法

Centos 6.9 编译安装 LAMP + xcache

# 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.conf
You 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/bin
ln -s -f phar.phar /usr/local/php-5.6.34/bin/phar
Installing 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.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

# 如果使用的是虚拟主机形式,把下面4行添加到主机标签中
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

其中/app/www/virtualhost指的是站点文件目录

例子:

<VirtualHost *:80>
    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

        <IfModule dir_module>
                DirectoryIndex index.php index.html
        </IfModule>

        <Directory "/app/www/virtualhost">
                AllowOverride None
                Options None
                Require all granted
        </Directory>

</VirtualHost>

# service httpd restart
# service php-fpm start

10.测试php

#ss -nlt
fcgi正在监听端口
State      Recv-Q Send-Q                                           Local Address:Port 
LISTEN     0      128                                                  127.0.0.1:9000 

编辑一个php的测试文件
#vim /app/www/virtualhost/index.php

<?php
  phpinfo();
?>

Centos 6.9 编译安装 LAMP + xcache

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.php

<?php
$mysqli = new mysqli("localhost", "test", "12345678");


if ($mysqli->connect_errno) {
    echo "连接失败";
    exit();
}
echo "连接成功";


$mysqli->close();
?>

# curl www.hunk.tech/check.php
连接成功

以下代码为判断mysql和mysqli扩展是否安装

<?php
 function mysqlinstalled (){
  if (function_exists ("mysql_connect")){
   return true;
  } else {
   return false;
  }
 }
 function mysqliinstalled (){
  if (function_exists ("mysqli_connect")){
   return true;
  } else {
   return false;
  }
 }

 if (mysqlinstalled()){
  echo "<p>The mysql extension is installed.</p>";
 } else {
  echo "<p>The mysql extension is not installed..</p>";
 }
 if (mysqliinstalled()){
  echo "<p>The mysqli extension is installed.</p>";
 } else {
  echo "<p>The mysqli extension is not installed..</p>";
 }
?>

12.测试未启用加速器前的性能

#ab -c 1000 -n 5000 192.168.5.102/check.php

Server Software:        Apache/2.4.29
Server Hostname:        192.168.5.102
Server Port:            80

Document Path:          /check.php
Document Length:        12 bytes

Concurrency Level:      1000
Time taken for tests:   6.751 seconds
Complete requests:      5000
Failed requests:        0
Write errors:           0
Total transferred:      915000 bytes
HTML transferred:       60000 bytes
Requests 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] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  210 625.4      1    3019
Processing:     1  436 954.0    190    6676
Waiting:        1  435 954.0    189    6675
Total:         63  645 1295.6    194    6734

Percentage 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:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226

编译安装xcache

# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
注意,--sysconfdir指向的是Php存放配置文件的目录

# make && make install

Installing 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 xcache
XCache
XCache Cacher

通过phpinfo也可以看到

Centos 6.9 编译安装 LAMP + xcache

14.测试启用加速器后的性能

#vim /etc/php.d/xcache.ini
xcache.optimizer =           On
xcache.size  =               1024M

#ab -c 1000 -n 5000 192.168.5.102/check.php

Server Software:        Apache/2.4.29
Server Hostname:        192.168.5.102
Server Port:            80

Document Path:          /check.php
Document Length:        12 bytes

Concurrency Level:      1000
Time taken for tests:   6.541 seconds
Complete requests:      5000
Failed requests:        0
Write errors:           0
Total transferred:      915000 bytes
HTML transferred:       60000 bytes
Requests 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] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  277 612.3      2    3017
Processing:     1  425 835.1    156    4186
Waiting:        1  424 835.1    155    4185
Total:         61  702 1187.2    167    5262

Percentage 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)

貌似简单的测试并没有发现什么优势呢

您可能感兴趣的文档:

--结束END--

本文标题: Centos 6.9 编译安装 LAMP + xcache

本文链接: https://lsjlt.com/news/38747.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Centos 6.9 编译安装 LAMP + xcache
    Centos 6.9 编译安装 LAMP apache 2.4 + Mysql 5.7 + php5.6.34 + Fast-cgi + xcache 实验环境:VMware Workstation Pro...
    99+
    2024-04-02
  • CentOS 6.9编译安装python
    Python官网:https://www.python.org/一、查看CentOS版本和系统默认Python版本:# cat /etc/redhat-release# python -V 二、编译安装Python-3.6.1:1、安装依赖...
    99+
    2023-01-31
    CentOS python
  • Centos 6.5编译安装LAMP
    一、前言1、环境说明基础环境Linux+Apache+MySQL+PHPlinux:6.5Apache 2.2.12mysql:5.6.17php:5.5.122、部署说明php安装目录:/usr/loca...
    99+
    2024-04-02
  • LAMP编译安装
    安装之前首先要安装所需的依赖库,将httpd mysql php等所需要的源码包上传到主机,或者wget 方式直接下载 上传方式和wget下载不作介绍,其中有些依赖是可以编译安装或者yum安装,并且这里依赖...
    99+
    2024-04-02
  • 编译部署LAMP+xcache (php-fpm模式)
    通过编译安装方式部署分离式LAMP+xcache (php-fpm模式)要求:(1)采用源码编译部署分离式的LAMP,其中php基于php-fpm模式(2)基于LAMP平台一个虚拟主机提供WordPress...
    99+
    2024-04-02
  • LAMP编译安装1
    ...
    99+
    2024-04-02
  • 编译安装zabbix3.2,LAMP
    编译安装zabbix方式1.1 环境准备系统环境:redhat 6.6 64位mysql-5.6.34php-5.6.28zabbix-3.2.1配置前先关闭iptables和SELINUX,避免安装过程中...
    99+
    2024-04-02
  • yum安装lamp及Xcache加速
    LAMP的搭建:           使用两台虚拟机,一台虚拟机安装httpd及php,把php作为模块编译进httpd中,另一台安装mysql,...
    99+
    2024-04-02
  • 编译安装lamp-1(mysql)
    lamp分层机制:用户--[httpd协议]--apache--[fastCGI协议]--php--[mysql协议]--mysql分层优势:Apache php和mysql都是CPU密集型的服务,分层可以...
    99+
    2024-04-02
  • LAMP 编译安装 +wordpress+discuz
    #软件下载#开源博客Wordpress    下载地址:https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz#PHP 7  ...
    99+
    2024-04-02
  • ubuntu怎么编译安装xcache for php5.3
    今天小编给大家分享一下ubuntu怎么编译安装xcache for php5.3的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-07-04
  • lamp编译安装+discuz+禅道
    所需软件自行准备systemctl stop firewalldsetenforce 0 1.编译安装httpdyum install -y net-tools &n...
    99+
    2024-04-02
  • 基于CentOS6.7编译安装LAMP
    一、所需软件下载测试机环境为:Httpd2.4 下载:http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.25.tar.bz2Apr 下载:http://mirr...
    99+
    2024-04-02
  • 源码编译安装LAMP环境
    1、请描述一次完整的http请求处理过程;2、httpd所支持的处理模型有哪些,他们的分别使用于哪些环境。3、源码编译安装LAMP环境(基于wordpress程序),并写出详细的安装、配置、测试过程。4、建...
    99+
    2024-04-02
  • LAMP如何编译安装php-5.4.13
    这篇文章主要介绍了LAMP如何编译安装php-5.4.13,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、解决依赖关系:如果想让编译的ph...
    99+
    2024-04-02
  • CentOS编译安装MongoDB
    一、环境系统     CentOS6.4x64最小化安装IP      192.168.3.33二、安装[root@...
    99+
    2024-04-02
  • CentOS编译安装Python3.6.
    1.获取编译包:wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz wget http://mirrors.sohu.com/python/3.6.4/Python-3...
    99+
    2023-01-31
    CentOS
  • centos 编译安装python2.7
    在后面使用和安装pip时说缺少zlib库,于是,先下载zlibzlib-1.2.8.tar.gztar xf zlib-1.2.8.tar.gzcd zlib-1.2.8./configure --prefix=/usr/localmake...
    99+
    2023-01-31
    centos
  • LAMP纯源码编译安装日志
    一.LAMP构架的安装与经验技巧(源码安装好处。是便于管理,可以选定参数,可以使用新版本)相关软件列表:# ls /soft/ | grep -E "*.gz|*.zip|*.xz|*.bz2" ...
    99+
    2024-04-02
  • centos下编译安装MySQL5.6
    环境win7下VMware12Pro,虚拟机centos6.5mini网络适配器“桥接模式”继续上一次的Apache编译后,编译安装MySQL5.6MySQL5.6和以前的版本不同之处在于用cmake就行编...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作