一、要求

 CentOS 7, lamp (php-fpm);
(1) 三者分离于三台主机;
(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
(3) xcache


规划

第一台 192.168.1.112httpd-2.4.6-40.el7.centos.x86_64httpd服务器
第二台 192.168.1.113php-fpm-5.4.16-36.el7_1.x86_64php-fpm服务器 
第三台 192.168.1.114mariadb-5.5.47-1.el7_2.x86_64

mariadb服务器

全部关闭selinux,iptables


实践

基于FCGI模式安装包组

 1.CentOS 6系列

          PHP-5.3.2及以前版本:默认不支持fpm机制;需要自行打补丁并编译安装

   httpd-2.2:默认不支持fcgi协议,需要自行编译fcgi模块;

            解决方案:编译安装httpd-2.4, php-5.3.3及以上版本;

 2.CentOS 7系列

     192.168.1.112:[root@localhost ~]# yum install -y httpd

    192.168.1.113:[root@localhost ~]# yum install -y php-fpm php-mysql

    192.168.1.114:[root@localhost ~]# yum install -y mariadb-server


3.配置修改

    3.1 httpd服务器

    3.1.1打开浏览器192.168.1.112可以看到apache测试页面

    

    3.1.2配置修改

      配置文件/etc/httpd/conf/httpd.conf    /etc/httpd/conf.d/*.conf

      这里在httpd.conf或在conf.d下新建一个.conf结尾的配置文件均可。

      vim /etc/httpd/conf.d/fcgi.conf

1
2
3
DirectoryIndex index.php #主页为index.php
ProxyRequests Off #关闭正向解析
ProxyPassMatch ^/(.*\.php)$  fcgi://192.168.1.113:9000/var/www/html/$1  #以.php结尾的都转发至php-fpm服务器下的/var/www/html下

        /var/www/html可以自己定义,前提是在php-fpm服务器上要创建相应的目录            


    3.2 php-fpm服务器与httpd服务器连接

           3.2.1配置文件 /etc/php-fpm.d/www.conf

1
2
  listen = 192.168.1.113:9000 #监听的本机的地址和端口
  listen.allowed_clients = 192.168.1.112 #允许httpd服务器转发过来

        此时就将httpd和php-fpm服务器建立连接了

     3.2.2测试一下

      在php-fpm服务器的/var/www/html目录下新建一个index.php内容如下  

1
2
3
<?php   
    phpinfo();    
?>

        此时再进入192.168.1.112即可看到php-fpm的详细信息

wKiom1cXMcCjmHCkAADf5c4GG00251.png


    3.3将mariadb与php-fpm连接

    3.3.1配置mariadb服务器

     在mariadb服务器上为php-fpm服务器添加一个可以访问的用户

1
2
 MariaDB>grant all on *.* to test@'192.168.%.%' identified by 'test'
 MariaDB> flush privileges;

        编辑/etc/my.cnf

    在 [mysqld]下方添加

1
 skip_name_resolve = ON

        3.3.2配置php-fpm服务器

    安装php-mysql驱动

1
yum install php-mysql -y

        测试一下php-fpm服务器和mariadb服务器

    编辑php-fpm服务器下的/var/php/index.php

1
2
3
4
5
6
7
8
9
 <?php
    $con = mysql_connect('192.168.1.114','test','test');
    if ($con)
        echo "OK";
    else
        echo "failed";    
    phpinfo();
     
  ?>

再次打开192.168.1.112网址可以看到

wKiom1cXNe-jZB1dAAD_5ceYqz4219.png

至此,已经连接完毕。


接下来搭建wordpress、phpmyadminxcache


规划

第一台192.168.1.112httpd服务器wordpress
第二台192.168.1.113php-fpm服务器xcache
第三台192.168.1.114mariadb服务器phpMyAdmin

 1、安装xcache(在epel源中)

1
2
[root@localhost html]# yum install -y php-xcache
[root@localhost html]# systemctl reload php-fpm

 

  2、安装phpMyAdmin(在php-fpm服务器中)

      下载地址为https://www.phpmyadmin.net/downloads/

       下载好后解压

1
2
[root@localhost html]# unzip phpMyAdmin-4.0.5-all-languages.zip -d pma
[root@localhost html]#  yum install php-mbstring #安装中文支持

    配置

1
2
3
4
[root@localhost html]# cd pma
[root@localhost pma]# cp config.sample.inc.php config.inc.php
    $cfg['blowfish_secret'] = 'a8b7c6d';
    $cfg['Servers'][$i]['host'] = '192.168.1.106'

    3、安装wordpress

        下载地址为https://cn.wordpress.org/