一、要求
CentOS 7, lamp (php-fpm);
(1) 三者分离于三台主机;
(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
(3) xcache
规划
第一台 192.168.1.112 | httpd-2.4.6-40.el7.centos.x86_64 | httpd服务器 |
第二台 192.168.1.113 | php-fpm-5.4.16-36.el7_1.x86_64 | php-fpm服务器 |
第三台 192.168.1.114 | mariadb-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 -y install httpd
192.168.1.113:[root@localhost ~]# yum -y install php-fpm php-mysql
192.168.1.114:[root@localhost ~]# yum -y install 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
DirectoryIndex index.php #主页为index.phpProxyRequests 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
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内容如下
<?php phpinfo(); ?>
此时再进入192.168.1.112即可看到php-fpm的详细信息
3.3将mariadb与php-fpm连接
3.3.1配置mariadb服务器
在mariadb服务器上为php-fpm服务器添加一个可以访问的用户
MariaDB>grant all on *.* to test@'192.168.%.%' identified by 'test'; MariaDB> flush privileges;
编辑/etc/my.cnf
在 [mysqld]下方添加
skip_name_resolve = ON
3.3.2配置php-fpm服务器
安装php-mysql驱动
yum install php-mysql -y
测试一下php-fpm服务器和mariadb服务器
编辑php-fpm服务器下的/var/php/index.php
<?php $con = mysql_connect('192.168.1.114','test','test'); if ($con) echo "OK"; else echo "failed"; phpinfo(); ?>
再次打开192.168.1.112网址可以看到
至此,已经连接完毕。
接下来搭建wordpress、phpmyadmin和xcache
规划
第一台192.168.1.112 | httpd服务器 |
第二台192.168.1.113 | php-fpm服务器 |
第三台192.168.1.114 | mariadb服务器 |
1、安装xcache(在epel源中)
[root@localhost html]# yum install -y php-xcache[root@localhost html]# systemctl reload php-fpm
2、安装phpMyAdmin(在php-fpm服务器中)
下载地址为https://www.phpmyadmin.net/downloads/
下载好后解压
[root@localhost html]# unzip phpMyAdmin-4.0.5-all-languages.zip -d pma
为phpmyadmin创建数据库和数据库用户名(在数据库服务器中执行)
mysql>create database pma; # 创建一个名为pma的数据库,后面的;号不能省略 mysql> grant all on pma.* to 用户名@localhost identified by '密码';
配置
[root@localhost html]# cd pma[root@localhost pma]# cp config.sample.inc.php config.inc.php[root@localhost pma]# vim config.inc.php $cfg['blowfish_secret'] = 'a8b7c6d'; $cfg['Servers'][$i]['host'] = '192.168.1.106' [root@localhost pma]# yum -y install php-mbstring #若提示mbstring错误,安装即可。
3、安装wordpress(在PHP服务器中)
下载地址为https://cn.wordpress.org/wordpress-4.5.1-zh_CN.zip
为wordpress创建数据库和数据库用户名(数据库服务器操作)
mysql>create database wordpress; # 创建一个名为wordpress的数据库,后面的;号不能省略 mysql> grant all on wordpress.* to 用户名@localhost identified by '密码';
接下来就是将下载的wordpress包解压到/var/www/html/目录下
tar xf /path/to/wordpress.tar.gz /var/www/html/
进入此目录,将wp-config-sample.php 复制一份并命名为wp-config.php。(这是wordpress的配置模版)
修改wp-config.php文件
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** ///** WordPress数据库的名称 */define('DB_NAME', 'wordpress'); /** MySQL数据库用户名 */define('DB_USER', '用户名'); /** MySQL数据库密码 */define('DB_PASSWORD', '密码');
本文出自 “我的学习笔记” 博客,请务必保留此出处http://zhaoyongtao.blog.51cto.com/10955972/1765813