centos7部署LAMP+xcache (php fpm模式)

centos7通过RPM包部署分离式LAMP+xcache (php-fpm)


要求:

rpm包部署LAMP,并且需要将LAMP环境进行分离式的部署

(1)一个虚拟主机提供wordpress

一个虚拟主机提供phpMyadmin

(2)利用xcache来加速页面速度

环境:

此处用三台主机分别分离提供不同服务:

192.168.1.104------->提供httpd服务

192.168.1.110------->提供mariadb-server服务

192.168.1.113------->提供php-fpm  php-mysql  xcache服务


一、192.168.1.104服务器部署httpd服务:

1、安装httpd服务程序

[[email protected] ~]# yum -y install httpd
[[email protected] ~]# vim /etc/httpd/conf/httpd.conf
ServerNAme localhost:80 #修改下要不解析不出来,启动老慢了

2、建立虚拟主机

[[email protected] ~]# vim /etc/httpd/conf.d/vhosts1.conf

DirectoryIndex index.php
<VirtualHost 192.168.1.104:80>
        ServerNAme wp.magedu.com
        DocumentRoot /data/vhosts/www1
        ProxyRequests off
        ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.1.113:9000/data/vhosts/www1/$1
        ####表示包以.php开头的文件传给php-fpm来处理,此处地址是php服务器地址
        <Directory "/data/vhosts/www1">
                Options None
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>

[[email protected] ~]# vim /etc/httpd/conf.d/vhosts2.conf

DirectoryIndex index.php
<VirtualHost 192.168.1.104:80>
        ServerNAme pam.magedu.com
        DocumentRoot /data/vhosts/www2
        ProxyRequests off
        ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.1.113:9000/data/vhosts/www2/$1

        <Directory "/data/vhosts/www2">
                Options None
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>

3、建立网页及相关路径

[[email protected] ~]# mkdir -p /data/vhosts/www1
[[email protected] ~]# mkdir -p /data/vhosts/www2

[[email protected] ~]# echo "vhosts111" > /data/vhosts/www1/index.html 
[[email protected] ~]# echo "vhosts222" > /data/vhosts/www2/index.html

4、启动下服务我们测试下虚拟主机是否正常

[[email protected] www1]# curl http://wp.magedu.com
vhosts111
[[email protected] www1]# curl http://pam.magedu.com
vhosts222


二、在192.168.1.113服务器上部署安装php-fpm

1、安装php-fpm php-mysql php-mbstring程序

[[email protected] ~]# rpm -q php  ###确保之前没有php程序,如果有看情况,不符合我们需要卸载
package php is not installed
[[email protected] ~]# yum -y install php-fpm php-mysql php-mbstring

2、编辑/etc/php-fpm.d/www.conf

[[email protected] ~]# vim /etc/php-fpm.d/

listen = 192.168.1.113:9000 ###设置php服务器监听地址即监听本地能够与外部通信的地址
listen.allowed_clients = 192.168.1.104 ###监听具有httpd服务的IP地址

3、建立以下文件并且启动php-fpm服务,查看下是否已经监听

[[email protected] ~]# mkdir /var/lib/php/session
[[email protected] ~]# chown apache.apache /var/lib/php/session/
[[email protected] ~]# ls -ld /var/lib/php/session/
drwxr-xr-x 2 apache apache 6 Jul 18 20:37 /var/lib/php/session/

[[email protected] ~]# systemctl start php-fpm.service 
[[email protected] ~]# ss -tnl 
State       Recv-Q Send-Q                   Local Address:Port   
LISTEN      0      128                      192.168.1.113:9000 ####已经监听php地址                 
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:6010  
LISTEN      0      128                                ::1:631    
LISTEN      0      100                                ::1:25                                 
LISTEN      0      128                                ::1:6010

4、在php服务器上建立与http服务器上网页DocumentRoot路径,并且编写php测试也,看看是否能够与http连接

[[email protected] ~]# mkdir -p /data/vhosts/www1/ 
[[email protected] ~]# mkdir -p /data/vhosts/www2/

[[email protected] ~]# vim /data/vhosts/www2/index.php ###虚拟主机2的php和httpd连接测试

This is vhost2
<?php
phpinfo();
?>

[[email protected] ~]# vim /data/vhosts/www1/index.php###虚拟主机1的php和httpd的连接测试

This is vhost1
<?php
phpinfo();
?>

5、加载服务访问站点测试php和httpd连接是否正常

ok!此时证明了我们php服务器和http服务器已经连接成功了没有问题!


三、在192.168.1.110服务器上部署mariadb服务

1、安装mariadb服务

[[email protected] ~]# yum -y install mariadb-server
[[email protected] ~]# systemctl start mariadb.service

2、创建等会需要用到的数据库和授权等相关操作

MariaDB [(none)]> CREATE DATABASE wpdb; ##创建WordPress所用数据库
MariaDB [(none)]> GRANT ALL ON wpdb.* TO ‘wpuser‘@‘192.168.%.%‘ IDENTIFIED BY ‘wppass‘;
                        ###授权WordPress用户及操作操作
                                        
MariaDB [(none)]> CREATE DATABASE pma;  ##授权phpmyadmin所用数据库
MariaDB [(none)]> GRANT ALL ON pma.* TO ‘pmauser‘@‘192.168.%.%‘ IDENTIFIED BY ‘pmapass‘;
                       ###授权phpmyadmin的用户及操作权限
                       
MariaDB [(none)]> grant all on *.* to ‘pmauser‘@‘192.168.%.%‘ identified by ‘pmapass‘;

3、在php服务器上建立php测试页,测试php是否可以正常连接数据

[[email protected] ~]# vim /data/vhosts/www1/index.php 

This is vhost1
<?php
        $conn = mysql_connect(‘192.168.1.110‘,‘wpuser‘,‘wppass‘);
            if ($conn)
                   echo "ok";
            else
                   echo "NO";
phpinfo();
?>
[[email protected] ~]# vim /data/vhosts/www1/index.php 

This is vhost2
<?php
$conn = mysql_connect(‘192.168.1.110‘,‘pmauser‘,‘pmapass‘);
        if ($conn)
                echo "ok";
        else
                echo "NO";
phpinfo();
?>
~

4、测试

ok经过测试我们的mariadb数据可以同php连接了,到现在我们分离式的LAMP平台就基本构建完成了!!


四、下面我们就就来部署下WordPress和phpMyadmin

注意:此处我们是把程序放置php服务器当中去部署,不原来没分离情况是不一样的,千万习惯了搞错了啊!

部署WordPress:

1、解压包,配置连接用户和密码,数据可地址

[[email protected] ~]# unzip wordpress-4.3.1-zh_CN.zip
[[email protected] ~]# mv wordpress /data/vhosts/www1/
[[email protected] ~]# cd /data/vhosts/www1/wordpress/
[[email protected] wordpress]# mv wp-config-sample.php wp-config.php
[[email protected] wordpress]# vim wp-config.php 

define(‘DB_NAME‘, ‘wpdb‘);

/** MySQL数据库用户名 */
define(‘DB_USER‘, ‘wpuser‘);

/** MySQL数据库密码 */
define(‘DB_PASSWORD‘, ‘wppass‘);

/** MySQL主机 */
define(‘DB_HOST‘, ‘192.168.1.110‘);

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

[[email protected] www1]# pwd
/data/vhosts/www1
[[email protected] www1]# ls
index.php  wordpress
[[email protected] www1]# scp -r wordpress/ [email protected]:/data/vhosts/www1/
                                                    ###目录传到http服务器上

部署phpMyadmin:

1、解压包配置

[[email protected] ~]# unzip phpMyAdmin-4.4.14.1-all-languages.zip
[[email protected] ~]# mv phpMyAdmin-4.4.14.1-all-languages /data/vhosts/www2/
[[email protected] www2]# mv phpMyAdmin-4.4.14.1-all-languages/ phpmyadmin

2、编辑配置文件

[[email protected] libraries]# pwd
/data/vhosts/www2/phpmyadmin/libraries
[[email protected] libraries]# vim config.default.php 

$cfg[‘blowfish_secret‘] = ‘V40VdxxM0rPrx8k2KYE‘;
$cfg[‘Servers‘][$i][‘host‘] = ‘192.168.1.110‘; ###数据库服务器地址
$cfg[‘Servers‘][$i][‘user‘] = ‘pmauser‘;
$cfg[‘Servers‘][$i][‘password‘] = ‘pmapass‘;

3、将配置好了的phpmyadmin目录传一份给httpd服务器虚拟主机对应的访问路径下

[[email protected] www2]# scp -r phpmyadmin/ [email protected]:/data/vhosts/www2/

测试:

ok了下面我们对页面进行一次压力测试看看速度:

[[email protected] ~]# ab -n 10000 -c 1000 http://wp.magedu.com/wordpress
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking wp.magedu.com (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests

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.081 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Non-2xx responses:      10002
Total transferred:      4690938 bytes
HTML transferred:       2390478 bytes
Requests per second:    3245.20 [#/sec] (mean)
Time per request:       308.147 [ms] (mean)
Time per request:       0.308 [ms] (mean, across all concurrent requests)
Transfer rate:          1486.63 [Kbytes/sec] received

从这段测试可以看出,这没加速度比我们之前的基于module+xcache的都要快。。。。


五、在php服务器安徽192.168.1.113上安装xcache进行缓存加速

1、安装php-xache

[[email protected] ~]# yum -y install php-xcache 

[[email protected] ~]# systemctl restart php-fpm.service

2、编辑配置文件,我吧缓存大小调整大写看看效果

[[email protected] ~]# vim /etc/php.d/xcache.ini
xcache.size  =               300M

3、压力测试:

[[email protected] ~]# ab -n 10000 -c 1000 http://wp.magedu.com/wordpress
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking wp.magedu.com (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests

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.076 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Non-2xx responses:      10012
Total transferred:      4695628 bytes
HTML transferred:       2392868 bytes
Requests per second:    3250.70 [#/sec] (mean)
Time per request:       307.626 [ms] (mean)
Time per request:       0.308 [ms] (mean, across all concurrent requests)
Transfer rate:          1490.63 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   46 208.7      2    3011
Processing:     0   69 191.8     31    1575
Waiting:        0   68 191.7     31    1574
Total:         21  115 337.5     34    3040
时间: 2024-10-10 05:53:44

centos7部署LAMP+xcache (php fpm模式)的相关文章

centos7部署LAMP+xcache(module模式)

centos7通过RPM包部署LAMP+xcache (php module) 环境要求: (1)一个虚拟主机提供phpMyadmin (2)一个虚拟主机提供WordPress (3)利用xcache缓存来进行页面加速 (4)进行页面压力测试 wp.magedu.com------>提供WordPress pma.magedu.com---->提供phpMyAdmin 1.安装httpd.php.php-myql.mariadb-server [[email protected] ~]# yu

Centos7部署lamp: httpd2.4+fpm模式

httpd:      192.168.1.200 mariadb:  192.168.1.202 php:      192.168.1.203 使用yum安装 一.安装并配置httpd: 在192.168.1.200上操作 yum install -y httpd vim /etc/httpd/conf.modules.d/00-mpm.conf    //启用event模式   vim /etc/httpd/conf/httpd.conf      //配置httpd       http

编译部署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------>提

Centos6部署lamp: httpd2.4+fpm模式

系统: Centos6 httpd版本: 2.4 使用event工作模式 php版本: 5.4.26 mariadb版本: 5.5.46 xcache版本: 3.0.3 httpd:     192.168.1.101 mariadb:  192.168.1.102 php:      192.168.1.103 安装顺序: php最后安装 注意事项: 1.在httpd2.2上使用fcgi功能,需要额外打补丁 一.安装httpd2.4: 在192.168.1.101上操作   1.    准备源

Centos7部署lamp: httpd2.4(event)+module模式

系统: Centos7 httpd版本: 2.4 使用event工作模式 安装方法: 使用yum安装httpd和mariadb 编译安装php,启用多线程支持 一.安装httpd和mariadb: yum install -y httpd httpd-devel php-mysql mariadb-server systemctl start mariadb      //启动mariadb systemctl start httpd         //启动httpd     二.安装PHP:

Centos6部署lamp: httpd2.4+module模式

系统: Centos6 httpd版本: 2.4 使用event工作模式 php版本: 5.4.26 mariadb版本: 5.5.46 xcache版本: 3.0.3 安装顺序: php最后安装 一.准备源码包: 二.安装httpd: 1.安装所需环境 yum groupinstall -y"Development tools" "Server Platform Development" yum install -y pcre-devel     2.    安装

CentOS7部署LAMP之phpMyAdmin、wordpress、Discuz

在CentOS7使用yum安装httpd.mariadb以及php.并且部署phpMyAdmin.wordpress.Discuz这三个服务. 虚拟主机名称为: pma.lcs.com,安装phpMyAdmin wp.lcs.com,安装wordpress dz.lcs.com,安装Discuz httpd.mariadb服务器主机IP地址为172.16.125.128,DNS服务器的IP地址为172.16.125.125,用于测试的主机IP地址为172.16.125.129. 安装详细步骤:

Centos6部署lamp: httpd2.2+module模式

系统: Centos6 httpd版本: 2.2 使用prefork工作模式 安装方法: 使用源码包安装mariadb 使用yum安装php 注: 如果使用mariadb官方的yum源安装,速度很慢 一.安装mariadb:   1.    准备源码包   2.    准备mysql组和用户 groupadd -r -g 306 mysql useradd -r -g mysql -u 306 mysql   3.    部署mariadb tar-xzvf mariadb-5.5.46-lin

Centos7配置LAMP+xcache,rpm,php模块

博客作业: (1)CentOS 7, apm+xcache, rpm包, php module; a)一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress: b)为phpMyAdmim提供https服务: 安装篇: 一.安装Apache yum -y install httpd systemctl start httpd.service #启动apache systemctl stop httpd.service #停止apache systemctl restart ht