LAMP(2)--CentOS-6平台三机编译安装FastCGI模型

要求

  • (1) 三者分离于三台主机;(编译安装,模块或php-fpm);

  • (2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;

  • (3) xcache;

  • (4) 尝试mpm为非prefork机制;

环境规划

hostipsoftware平台
主机1172.18.253.33httpdCentOS 6
主机2172.18.253.34php-fpmCentOS 6
主机3172.18.253.35mariadbCentOS 6

配置准备

1.实验前先将 iptables 和 SELinux 均设置为关闭状态,避免影响实验结果。
2.首先配置 mariadb的服务器主机3,再配置 php-fpm的服务器主机2,最后配置httpd的服务器主机1,按照从后到前的顺序。

主机3配置

  • 二进制安装MariaDB

CentOS-6平台三机编译安装FastCGI模型_二进制

CentOS-6平台三机编译安装FastCGI模型_服务器_02

CentOS-6平台三机编译安装FastCGI模型_虚拟主机_03

CentOS-6平台三机编译安装FastCGI模型_虚拟主机_04

  • 初始化数据库安全设置

mysql_secure_installation

CentOS-6平台三机编译安装FastCGI模型_虚拟主机_05


  • 配置MariaDB

# 授权root可从172.18.253.0/24网段内的主机登录操作所有数据库。
MariaDB [(none)]> grant all privileges on *.* to 'root'@'172.18.253.%' identified by 'mageedu';
# 给wordpress创建数据wpdb。
MariaDB [(none)]> create database wpdb;
# 给wordpress创建用户wp。
MariaDB [(none)]> create user 'wp'@'172.18.253.%' identified by 'mageedu';
# 授权wp可从172.18.253.0/24网段内的主机登录操作wpdb数据库。
MariaDB [(none)]> grant all privileges on wpdb.* to 'wp'@'172.18.253.%' identified by 'mageedu';
# 重载权限表
MariaDB [(none)]> flush privileges;
# 退出MariaDB [(none)]> \q

主机2配置

  • 测试连接MariaDB

[root@localhost ~]# yum install -y mysql
[root@localhost ~]# mysql -uroot -h172.18.253.35 -pmageedu
  • 环境配置:安装开发工具包

# yum -y groupinstall "Server Platform Development" "Development tools"
# yum -y install bzip2-devel libmcrypt-devel libxml2-devel
  • 编译安装php

  • CentOS-6平台三机编译安装FastCGI模型_虚拟主机_06


~]# tar -xf  php-5.4.40.tar.bz2
~]# ./configure --prefix=/usr/local/php5 --with-openssl
 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
 --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir
 --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets 
 --enable-fpm --with-mcrypt  --with-config-file-path=/etc 
 --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
~]# make && make install
  • 配置php、php-fpm

# cp php.ini-production /etc/php.ini
]# mkdir /etc/php.d/
]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
]# vim /usr/local/php/etc/php-fpm.conf
# 配置启用pid文件和error_log
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm/error.log
  • 安装php-mysql

]# yum -y install php-mysql
  • 编译安装xache

# yum install php-devel 
# cd xcache-3.2.0 
# phpize (在当前目录生成configure 脚本,让它了解php环境) 
# ./configure –enable-xcache –with-php-config=/usr/bin/php-config 
# make && make install 
# cp xcache.ini /etc/php.d/

CentOS-6平台三机编译安装FastCGI模型_服务器_07

主机1配置

  • 环境配置:安装开发工具包

# yum -y groupinstall "Server Platform Development" "Development tools"
# yum -y install pcre-devel
  • 编译安装httpd2.4

  • (1) apr-1.4+

# ./configure  --prefix=/usr/local/apr 【指明安装到/usr/local/apr目录下】
# make && make install   【第一个命令如果成功运行则执行第二个】
  • (2) apr-util-1.4+

 # ./configure  --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr
【当安装某包时依赖某程序包,告诉他位置,此处 --with-apr=/usr/local/apr 
则表示告诉依赖包的 apr包 在 /usr/local/apr目录下】
# make && make install
  • (3) httpd-2.4(安装时可以指明以那个用户来运行,不指定的话默认是daemon用户)

# ./configure –prefix=/usr/local/apache24 –sysconfdir=/etc/httpd24 
–enable-so –enable-ssl –enable-cgi –enable-rewrite(支持URL重写) 
–with-zlib –with-pcre –with-apr=/usr/local/apr 
–with-apr-util=/usr/local/apr-util –enable-modules=most 
–enable-mpms-shared=all –with-mpm=worker
# make && make install
  • 设置httpd24 服务service 启动 和开机默认启动方法

CentOS-6平台三机编译安装FastCGI模型_虚拟主机_08

  • 查看验证是否为worker模型

CentOS-6平台三机编译安装FastCGI模型_二进制_09

  • 安装wordpress(本处提供安装方法,安装包自行下载)

CentOS-6平台三机编译安装FastCGI模型_二进制_10

CentOS-6平台三机编译安装FastCGI模型_服务器_11

  • 安装phpMyAdmin(本处提供安装方法,安装包自行下载)

cp phpMyAdmin-4.4.14.1-all-language.zip /webcom/c.org/pma
unzip phpMyAdmin-4.4.14.1-all-language.zip
ln -sv phpMyAdmin-4.4.14.1-all-language phpadmin
cd phpadmin/cp config.sample.inc.php config.inc.php
openssl rand -base64 15
vim config.inc.phpsystemctl restart httpd.service

CentOS-6平台三机编译安装FastCGI模型_服务器_12

  • 配置虚拟主机1

[root@localhost ~]# vim /etc/httpd/conf.d/virtualhost1.conf
<VirtualHost *:80>
        ServerName www.b.net
        DocumentRoot "/webcom/b.net/wp"
        <Directory "/webcom/b.net/wp">
                Options None
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>
[root@localhost ~]# mkdir -pv /webcom/b.net/wp
mkdir: created directory ‘/webcom/b.net’
mkdir: created directory ‘/webcom/b.net/wp’
  • 配置虚拟主机2

[root@localhost ~]# vim /etc/httpd/conf.d/virtualhost2.conf
<VirtualHost *:80>
        ServerName www.c.org
        DocumentRoot "/webcom/c.org/pma"
        <Directory "/webcom/c.org/">
                Options None
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>
[root@localhost ~]# mkdir -pv /webcom/c.org/pma
mkdir: created directory ‘/webcom/c.org’
mkdir: created directory ‘/webcom/c.org/pma’


至此,实验完成!