设为首页 收藏本站
查看: 691|回复: 0

[经验分享] centos7部署LAMP+xcache (php fpm模式)

[复制链接]

尚未签到

发表于 2018-12-16 10:38:46 | 显示全部楼层 |阅读模式
  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服务程序
[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

        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服务器地址
        
                Options None
                AllowOverride None
                Require all granted
        


[root@bogon ~]# vim /etc/httpd/conf.d/vhosts2.conf
DirectoryIndex index.php

        ServerNAme pam.magedu.com
        DocumentRoot /data/vhosts/www2
        ProxyRequests off
        ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.1.113:9000/data/vhosts/www2/$1
        
                Options None
                AllowOverride None
                Require all granted
        
  

  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.magedu.com
vhosts111
[root@bogon www1]# curl http://pam.magedu.com
vhosts222  

  

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

  

  1、安装php-fpm php-mysql php-mbstring程序
[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
[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

[root@bogon ~]# vim /data/vhosts/www1/index.php###虚拟主机1的php和httpd的连接测试
This is vhost1
  

  5、加载服务访问站点测试php和httpd连接是否正常
   DSC0000.gif
  
  ok!此时证明了我们php服务器和http服务器已经连接成功了没有问题!
  

  

  三、在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
[root@pxe132 ~]# vim /data/vhosts/www1/index.php
This is vhost2

~  

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

  

  四、下面我们就就来部署下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/  测试:

  


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





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-651928-1-1.html 上篇帖子: php验证码生成类 下篇帖子: php引擎优化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表