阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7部署LAMP+xcache (php-fpm模式)

161次阅读
没有评论

共计 12531 个字符,预计需要花费 32 分钟才能阅读完成。

CentOS 7 通过 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 服务程序
[root@bogon ~]# yum -y install httpd
[root@bogon ~]# vim /etc/httpd/conf/httpd.conf
ServerNAme localhost:80 #修改下要不解析不出来,启动老慢了

2、建立虚拟主机
[root@bogon ~]# vim /etc/httpd/conf.d/vhosts1.conf
 
DirectoryIndex index.php
<VirtualHost 192.168.1.104:80>
        ServerNAme wp.linuxidc.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> 
 
 
[root@bogon ~]# vim /etc/httpd/conf.d/vhosts2.conf
 
DirectoryIndex index.php
<VirtualHost 192.168.1.104:80>
        ServerNAme pam.linuxidc.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、建立网页及相关路径
[root@bogon ~]# mkdir -p /data/vhosts/www1
[root@bogon ~]# mkdir -p /data/vhosts/www2
 
[root@bogon ~]# echo “vhosts111” > /data/vhosts/www1/index.html 
[root@bogon ~]# echo “vhosts222” > /data/vhosts/www2/index.html

4、启动下服务我们测试下虚拟主机是否正常
[root@bogon www1]# curl http://wp.linuxidc.com
vhosts111
[root@bogon www1]# curl http://pam.linuxidc.com
vhosts222

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

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

2、编辑 /etc/php-fpm.d/www.conf
1234 [root@pxe132 ~]# vim /etc/php-fpm.d/
 
listen = 192.168.1.113:9000 ### 设置 php 服务器监听地址即监听本地能够与外部通信的地址
listen.allowed_clients = 192.168.1.104 ### 监听具有 httpd 服务的 IP 地址

3、建立以下文件并且启动 php-fpm 服务,查看下是否已经监听
[root@pxe132 ~]# mkdir /var/lib/php/session
[root@pxe132 ~]# chown apache.apache /var/lib/php/session/
[root@pxe132 ~]# ls -ld /var/lib/php/session/
drwxr-xr-x 2 apache apache 6 Jul 18 20:37 /var/lib/php/session/
 
[root@pxe132 ~]# systemctl start php-fpm.service 
[root@pxe132 ~]# 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 连接
[root@pxe132 ~]# mkdir -p /data/vhosts/www1/ 
[root@pxe132 ~]# mkdir -p /data/vhosts/www2/
 
[root@bogon ~]# vim /data/vhosts/www2/index.php ### 虚拟主机 2 的 php 和 httpd 连接测试
 
This is vhost2
<?php
phpinfo();
?>
 
[root@bogon ~]# vim /data/vhosts/www1/index.php### 虚拟主机 1 的 php 和 httpd 的连接测试
 
This is vhost1
<?php
phpinfo();
?>

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

CentOS 7 部署 LAMP+xcache(php-fpm 模式)

CentOS 7 部署 LAMP+xcache(php-fpm 模式)
ok! 此时证明了我们 php 服务器和 http 服务器已经连接成功了没有问题!

下面关于 LAMP 相关 的内容你可能也喜欢

LAMP 平台安装 Xcache 和 Memcached 加速网站运行  http://www.linuxidc.com/Linux/2015-06/118835.htm 

CentOS 7 下搭建 LAMP 平台环境  http://www.linuxidc.com/Linux/2015-06/118818.htm

CentOS 6.5 系统安装配置 LAMP(Apache+PHP5+MySQL)服务器环境 http://www.linuxidc.com/Linux/2014-12/111030.htm

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境  http://www.linuxidc.com/Linux/2014-10/107924.htm

Ubuntu 14.10 下安装 LAMP 服务图文详解  http://www.linuxidc.com/Linux/2014-12/110082.htm

LAMP 结合 NFS 构建小型博客站点  http://www.linuxidc.com/Linux/2015-08/121029.htm

CentOS7 下安装部署 LAMP 环境  http://www.linuxidc.com/Linux/2016-04/130653.htm

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-07/133332p2.htm

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

1、安装 mariadb 服务
[root@pxe130 ~]# yum -y install mariadb-server
[root@pxe130 ~]# 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 是否可以正常连接数据

[root@pxe132 ~]# 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();
?>

[root@pxe132 ~]# 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、测试

CentOS 7 部署 LAMP+xcache(php-fpm 模式)CentOS 7 部署 LAMP+xcache(php-fpm 模式)

 

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

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

1、解压包,配置连接用户和密码,数据可地址
[root@pxe132 ~]# unzip wordpress-4.3.1-zh_CN.zip
[root@pxe132 ~]# mv wordpress /data/vhosts/www1/
[root@pxe132 ~]# cd /data/vhosts/www1/wordpress/
[root@pxe132 wordpress]# mv wp-config-sample.php wp-config.php
[root@pxe132 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 服务器主页访问的路径下
[root@pxe132 www1]# pwd
/data/vhosts/www1
[root@pxe132 www1]# ls
index.php  wordpress
[root@pxe132 www1]# scp -r wordpress/ root@192.168.1.104:/data/vhosts/www1/
                                                    ### 目录传到 http 服务器上

部署 phpMyadmin:
1、解压包配置
[root@pxe132 ~]# unzip phpMyAdmin-4.4.14.1-all-languages.zip
[root@pxe132 ~]# mv phpMyAdmin-4.4.14.1-all-languages /data/vhosts/www2/
[root@pxe132 www2]# mv phpMyAdmin-4.4.14.1-all-languages/ phpmyadmin

2、编辑配置文件
[root@pxe132 libraries]# pwd
/data/vhosts/www2/phpmyadmin/libraries
[root@pxe132 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 服务器虚拟主机对应的访问路径下
[root@pxe132 www2]# scp -r phpmyadmin/ root@192.168.1.104:/data/vhosts/www2/

测试:

CentOS 7 部署 LAMP+xcache(php-fpm 模式)CentOS 7 部署 LAMP+xcache(php-fpm 模式)

ok 了下面我们对页面进行一次压力测试看看速度:
[root@bogon ~]# ab -n 10000 -c 1000 http://wp.linuxidc.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.linuxidc.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.linuxidc.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

[root@pxe132 ~]# yum -y install php-xcache 
 
[root@pxe132 ~]# systemctl restart php-fpm.service

2、编辑配置文件,我吧缓存大小调整大写看看效果
[root@pxe132 ~]# vim /etc/php.d/xcache.ini
xcache.size  =              300M

3、压力测试:

[root@bogon ~]# ab -n 10000 -c 1000 http://wp.linuxidc.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.linuxidc.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.linuxidc.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

更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/133332.htm

CentOS 7 通过 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 服务程序
[root@bogon ~]# yum -y install httpd
[root@bogon ~]# vim /etc/httpd/conf/httpd.conf
ServerNAme localhost:80 #修改下要不解析不出来,启动老慢了

2、建立虚拟主机
[root@bogon ~]# vim /etc/httpd/conf.d/vhosts1.conf
 
DirectoryIndex index.php
<VirtualHost 192.168.1.104:80>
        ServerNAme wp.linuxidc.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> 
 
 
[root@bogon ~]# vim /etc/httpd/conf.d/vhosts2.conf
 
DirectoryIndex index.php
<VirtualHost 192.168.1.104:80>
        ServerNAme pam.linuxidc.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、建立网页及相关路径
[root@bogon ~]# mkdir -p /data/vhosts/www1
[root@bogon ~]# mkdir -p /data/vhosts/www2
 
[root@bogon ~]# echo “vhosts111” > /data/vhosts/www1/index.html 
[root@bogon ~]# echo “vhosts222” > /data/vhosts/www2/index.html

4、启动下服务我们测试下虚拟主机是否正常
[root@bogon www1]# curl http://wp.linuxidc.com
vhosts111
[root@bogon www1]# curl http://pam.linuxidc.com
vhosts222

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

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

2、编辑 /etc/php-fpm.d/www.conf
1234 [root@pxe132 ~]# vim /etc/php-fpm.d/
 
listen = 192.168.1.113:9000 ### 设置 php 服务器监听地址即监听本地能够与外部通信的地址
listen.allowed_clients = 192.168.1.104 ### 监听具有 httpd 服务的 IP 地址

3、建立以下文件并且启动 php-fpm 服务,查看下是否已经监听
[root@pxe132 ~]# mkdir /var/lib/php/session
[root@pxe132 ~]# chown apache.apache /var/lib/php/session/
[root@pxe132 ~]# ls -ld /var/lib/php/session/
drwxr-xr-x 2 apache apache 6 Jul 18 20:37 /var/lib/php/session/
 
[root@pxe132 ~]# systemctl start php-fpm.service 
[root@pxe132 ~]# 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 连接
[root@pxe132 ~]# mkdir -p /data/vhosts/www1/ 
[root@pxe132 ~]# mkdir -p /data/vhosts/www2/
 
[root@bogon ~]# vim /data/vhosts/www2/index.php ### 虚拟主机 2 的 php 和 httpd 连接测试
 
This is vhost2
<?php
phpinfo();
?>
 
[root@bogon ~]# vim /data/vhosts/www1/index.php### 虚拟主机 1 的 php 和 httpd 的连接测试
 
This is vhost1
<?php
phpinfo();
?>

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

CentOS 7 部署 LAMP+xcache(php-fpm 模式)

CentOS 7 部署 LAMP+xcache(php-fpm 模式)
ok! 此时证明了我们 php 服务器和 http 服务器已经连接成功了没有问题!

下面关于 LAMP 相关 的内容你可能也喜欢

LAMP 平台安装 Xcache 和 Memcached 加速网站运行  http://www.linuxidc.com/Linux/2015-06/118835.htm 

CentOS 7 下搭建 LAMP 平台环境  http://www.linuxidc.com/Linux/2015-06/118818.htm

CentOS 6.5 系统安装配置 LAMP(Apache+PHP5+MySQL)服务器环境 http://www.linuxidc.com/Linux/2014-12/111030.htm

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境  http://www.linuxidc.com/Linux/2014-10/107924.htm

Ubuntu 14.10 下安装 LAMP 服务图文详解  http://www.linuxidc.com/Linux/2014-12/110082.htm

LAMP 结合 NFS 构建小型博客站点  http://www.linuxidc.com/Linux/2015-08/121029.htm

CentOS7 下安装部署 LAMP 环境  http://www.linuxidc.com/Linux/2016-04/130653.htm

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-07/133332p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计12531字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中