我的编程空间,编程开发者的网络收藏夹
学习永远不晚

编译部署LAMP+xcache (php-fpm模式)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

编译部署LAMP+xcache (php-fpm模式)

通过编译安装方式部署分离式LAMP+xcache (php-fpm模式)


要求:

(1)采用源码编译部署分离式的LAMP,其中php基于php-fpm模式

(2)基于LAMP平台一个虚拟主机提供WordPress,另一个虚拟主机提供phpMyadmin

(3)利用xcache来为php提供缓存加速页面的访问速度

(4)对其中一个站点缓分别做压力测试,并且比对缓存加速前和加速后的数据。


环境:

192.168.1.103------>提供httpd服务

192.168.1.104------>提供mariadb服务

192.168.1.110------>提供PHP xcache服务 


软件包:

httpd-2.4.6.tar   apr-1.5.0.tar     apr-util-1.5.2.tar      ###httpd2.4版本需要apr和apr-util包的1.4以上版本支持

mariadb-5.5.46-linux-x86_64.tar (二进制包)

php-5.4.26.tar 

xcache-3.1.0.tar

wordpress-4.3.1-zh_CN

phpMyAdmin-4.4.14.1-all-languages

---------------------------------------------------分割线------------------------------------------------------------

编译安装服务:


一、编译安装httpd服务(192.168.1.103)


1、首先确认系统是否已经安装了httpd服务,如果存在我们需要卸载,为了避免与后面有冲突。

2、安装开发包组

[root@pxe132 ~]# yum -y groupinstall Desktop Platform Development Development Tools

3、编译安装apr和apr-util

   centos7中rpm包安装apr和apr-util就是1.4版本支持httpd,此处我就使用编译的方式来进行

###编译安装apr:
[root@pxe132 ~]# tar xf apr-1.5.0.tar.bz2 
[root@pxe132 ~]# cd apr-1.5.0/
[root@pxe132 apr-1.5.0]# ./configure --prefix=/usr/local/apr
[root@pxe132 apr-1.5.0]# make -j 4 && make install


###编译安装apr-util:
[root@pxe132 ~]# tar xf apr-util-1.5.2.tar.bz2 
[root@pxe132 ~]# cd apr-util-1.5.2/
[root@pxe132 apr-util-1.5.2]# ./configure --prefix=/usr/local/apr-util 
                                          --with-apr=/usr/local/apr                                 
[root@pxe132 apr-util-1.5.2]# make -j 4 && make install 

###查看编译安装后的结果:
[root@pxe132 ~]# rpm -q apr
apr-1.4.8-3.el7.x86_64
[root@pxe132 ~]# rpm -q apr-util
apr-util-1.5.2-6.el7.x86_64


4、编译安装httpd

[root@pxe132 ~]# yum -y install pcre-devel  openssl-devel  libevent-devel 

[root@pxe132 ~]# tar xf httpd-2.4.6.tar.bz2 
[root@pxe132 ~]# cd httpd-2.4.6/
[root@pxe132 httpd-2.4.6]# ./configure 
--prefix=/usr/local/apache  ##安装路径
--sysconfdir=/etc/httpd24  ##配置文件路径
--enable-so  ##支持动态装卸载DSO机制,DSO是动态共享对象,可实现模块动态生效
--enable-ssl ##支持SSL/TLS 可实现https功能,需要安装openssl-devel开发工具
--enable-cgi  ##支持CGI脚本 默认对非线程的MPM(多路处理)模块开启
--enable-rewrite  ##支持URL重写
--enable-defalte  ##支持压缩功能
--enable-modules=most ##支持动态启用的模块 {all|most}
--enable-mpms-shared=all ##支持动态加载的MPM模块 {most|all}
--with-mpm=prefork  ##设置默认启用的mpm模式 {prefork|worker|event}
--with-pcre ##使用指定的pcre库,需要安装pcre-devel工具
--with-zlib ##使用指定的zlib库
--with-apr=/usr/local/apr  ##指定apr安装路径
--with-apr-util=/usr/local/apr-util  ##指定apr-util安装路径


此时我们就可以启动服务:
[root@pxe132 ~]# /usr/local/apache/bin/apachectl start 
但是这样操作不是太方便,所有我们后面还需要做些操作:


5、添加PATH环境变量

[root@pxe132 ~]# vim /etc/profile.d/httpd24.sh 
                export PATH=/usr/local/apache/bin:$PATH

[root@pxe132 ~]# source /etc/profile.d/httpd24.sh ###重读下文件路径,使其立马生效
[root@pxe132 ~]# echo $PATH
/usr/local/apache/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin


6、导出头文件:

[root@pxe132 ~]# ln -sv /usr/local/apache/include/ /usr/include/httpd24


7、启动服务

[root@pxe132 ~]# apachectl start 
[root@pxe132 ~]# ss -tnl 
State      Recv-Q Send-Q          Local Address:Port                         Peer Address:Port              
LISTEN     0      128                         *:22                                      *:*                  
LISTEN     0      128                 127.0.0.1:631                                     *:*                  
LISTEN     0      100                 127.0.0.1:25                                      *:*                  
LISTEN     0      128                 127.0.0.1:6012                                    *:*                  
LISTEN     0      128                        :::80                                     :::*


9、测试下httpd服务是否正常:

[root@pxe132 ~]# curl 192.168.1.103
<html><body><h2>It works!</h2></body></html>


二、编译安装mariadb服务(192.168.1.104)


1、为了安全我们我mysql建立专门的用户和组,让其以普通用户的身份运行

[root@bogon ~]# groupadd -r mysql 
[root@bogon ~]# useradd -r mysql -g mysql 
[root@bogon ~]# id mysql
uid=988(mysql) gid=983(mysql) groups=983(mysql)


2、建立数据可数据存放的目录,此处需要注意权限的问题

[root@bogon ~]# mkdir -p /data/mydata
[root@bogon ~]# chown -R mysql:mysql /data/mydata/  ###此文件在后面我们安装包的时候会用到


3、解压mariadb安装包到/usr/local目录下

[root@bogon ~]# tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local


4、创建一个软链接方便使用

[root@bogon ~]# ln -sv /usr/local/mariadb-5.5.46-linux-x86_64/ mysql 
‘mysql’ -> ‘/usr/local/mariadb-5.5.46-linux-x86_64/’


5、此时我们可以进入mysql的目录去看下,发现里面的属组合属主都是root,所有需要改下权限

[root@bogon ~]# cd /usr/local/mysql/
[root@bogon mysql]# ll
total 204
drwxr-xr-x.  2 root root   4096 Jul 21 14:39 bin
-rw-r--r--.  1  500  500  17987 Oct 10  2015 COPYING
-rw-r--r--.  1  500  500  26545 Oct 10  2015 COPYING.LESSER
drwxr-xr-x.  3 root root     17 Jul 21 14:39 data
-rw-r--r--.  1  500  500   8245 Oct 10  2015 EXCEPTIONS-CLIENT
drwxr-xr-x.  3 root root     18 Jul 21 14:39 include
-rw-r--r--.  1  500  500   8694 Oct 10  2015 INSTALL-BINARY
drwxr-xr-x.  3 root root   4096 Jul 21 14:39 lib
drwxr-xr-x.  4 root root     28 Jul 21 14:39 man
lrwxrwxrwx.  1 root root     39 Jul 21 14:42 mariadb-5.5.46-linux-x86_64 -> /usr/local/mariadb-5.5.46-linux-x86_64/
drwxr-xr-x. 11 root root   4096 Jul 21 14:39 mysql-test
-rw-r--r--.  1  500  500 108813 Oct 10  2015 README

[root@bogon mysql]# chown -R root.mysql .
define('DB_NAME', 'wpdb');


define('DB_USER', 'wpuser');


define('DB_PASSWORD', 'wppass');


define('DB_HOST', '192.168.1.104');

2、此时我们需要把WordPress这个目录个传到http服务器主页访问的路径下

root@pxe130 www1]# scp -r wordpress/ root@192.168.1.103:/data/vhost1/www1/


二、部署phpmyadmin

1、解压,配置

[root@pxe130 ~]# unzip phpMyAdmin-4.4.14.1-all-languages.zip
[root@pxe130 ~]# mv phpMyAdmin-4.4.14.1-all-languages /data/vhost2/www2/
[root@pxe130 www2]# ln -sv phpMyAdmin-4.4.14.1-all-languages/ phpmyadmin
[root@pxe130 www2]# vim phpmyadmin/libraries/config.default.php

$cfg['blowfish_secret'] = 'tSQRO02T+grA6rvJHCXr';
$cfg['Servers'][$i]['host'] = '192.168.1.104'; ###数据库服务地址
$cfg['Servers'][$i]['user'] = 'pmauser';
$cfg['Servers'][$i]['password'] = 'pmapass';


2、将phpmyadmin传一份给http服务器的相对应路径下

[root@pxe130 www2]# scp -r phpmyadmin/ root@192.168.1.103:/data/vhost2/www2/


测试:


编译部署LAMP+xcache (php-fpm模式)

编译部署LAMP+xcache (php-fpm模式)


4、压力测试:

Server Software:        Apache/2.4.6
Server Hostname:        wp.magedu.com
Server Port:            80

Document Path:          /wordpress
Document Length:        239 bytes

Concurrency Level:      1000
Time taken for tests:   3.096 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Non-2xx responses:      10006
Total transferred:      4672802 bytes
HTML transferred:       2391434 bytes
Requests per second:    3229.61 [#/sec] (mean)
Time per request:       309.635 [ms] (mean)
Time per request:       0.310 [ms] (mean, across all concurrent requests)
Transfer rate:          1473.76 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1   64 319.1      3    3030
Processing:     1   55 186.0     21    1454
Waiting:        1   54 185.9     20    1454
Total:         12  120 426.7     24    3042

Percentage of the requests served within a certain time (ms)
  50%     24
  66%     25
  75%     26
  80%     27
  90%     30
  95%    691
  98%   1649
  99%   2462
 100%   3042 (longest request)


编译安装xcache缓存加速

1、解包生成配置

[root@pxe130 /]# tar xf xcache-3.2.0.tar.bz2 
[root@pxe130 /]# cd xcache-3.2.0/
[root@pxe130 xcache-3.2.0]# /usr/local/php/bin/phpize 
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525

[root@pxe130 xcache-3.2.0]# ./configure --enable-xcache 
--with-php-config=/usr/local/php/bin/php-config


[root@pxe130 xcache-3.2.0]# make && make install


2、配置xcache

[root@pxe130 ~]# cp /xcache-3.2.0/xcache.ini  /etc/php.d/
[root@pxe130 ~]# vim /etc/php.d/xcache.ini 

添加:
[xcache-common]
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so
修改下缓存大小:
xcache.size  =               200M


3、重启php-fpm服务,此时index.php页面应该就会有xcache支持了

[root@pxe130 ~]# systemctl restart php-fpm.service

编译部署LAMP+xcache (php-fpm模式)

在进行压力测试::

[root@bogon ~]# ab -n 10000 -c1000 http://wp.magedu.com/wordpress
Server Software:        Apache/2.4.6
Server Hostname:        wp.magedu.com
Server Port:            80

Document Path:          /wordpress
Document Length:        239 bytes

Concurrency Level:      1000
Time taken for tests:   2.128 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Non-2xx responses:      10000
Total transferred:      4670000 bytes
HTML transferred:       2390000 bytes
Requests per second:    4700.07 [#/sec] (mean)
Time per request:       212.763 [ms] (mean)
Time per request:       0.213 [ms] (mean, across all concurrent requests)
Transfer rate:          2143.49 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1   37 116.1     23    1028
Processing:     1   46 129.4     26    1480
Waiting:        1   40 129.8     20    1474
Total:         24   83 189.7     49    1646

Percentage of the requests served within a certain time (ms)
  50%     49
  66%     52
  75%     53
  80%     55
  90%     59
  95%     78
  98%    726
  99%   1458
 100%   1646 (longest request)

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

编译部署LAMP+xcache (php-fpm模式)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录