共计 9989 个字符,预计需要花费 25 分钟才能阅读完成。
题目:分别用三台 CentOS 7 主机部署 httpd、php-fpm、mariadb
第一台 192.168.10.101 –> httpd
第二台 192.168.10.102 –> php-fpm
第三台 192.168.10.103 –> mariadb
开始之前先把 selinux、iptables 给关闭了,方便测试。
# iptables -F
# setenforce 0
从第一台开始配置。
# 安装 httpd
[root@www ~]# yum -y install httpd
# 配置虚拟主机
DirectoryIndex index.php
<VirtualHost *:80>
ServerName www.a.com # 配置第一台虚拟主机
DocumentRoot “/apps/vhosts/a.com”
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.10.102:9000/apps/vhosts/a.com/$1
<Directory “/apps/vhosts/a.com”>
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.b.net # 配置第二台虚拟主机
DocumentRoot “/apps/vhosts/b.net”
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.10.102:9000/apps/vhosts/b.net/$1
<Directory “/apps/vhosts/b.net”>
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
# 创建资源映射目录
[root@www ~]# mkdir -pv /apps/vhosts/{a.com,b.net}
# 注释掉中心主机的文档根路径
#DocumentRoot “/var/www/html”
# 检查语法
[root@www ~]# httpd -t
Syntax OK
# 启动 httpd 服务进程
[root@www ~]# systemctl start httpd.service :::*
[root@www ~]# ss -tnl | grep 80
LISTEN 0 128 :::80 :::*
# 创建静态资源文件,作为测试用
[root@www ~]# vim /apps/vhosts/a.com/index.html
<h1> www.a.com </h1>
[root@www ~]# vim /apps/vhosts/b.net/index.html
<h1> www.b.net </h1>
# 修改 hosts 文件
# vim /etc/hosts
192.168.10.101 www.a.com www.b.net www.c.org
# 确保 httpd 有装载 fcgi 模块
[root@www ~]# httpd -M | grep fcgi
proxy_fcgi_module (shared)
配置第三台主机。
# 安装数据库
[root@MySQL ~]# yum -y install mariadb-server
# 启动起来
[root@mysql ~]# systemctl start mariadb.service
[root@mysql ~]# ss -tnl | grep 3306
LISTEN 0 50 *:3306 *:*
# 授权用户及创建数据库
[root@mysql ~]# mysql
MariaDB [(none)]> GRANT ALL ON wpdb.* TO wpuser@’192.168.%.%’ IDENTIFIED BY ‘wppass’;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> CREATE DATABASE wpdb;
# 禁用主机名解析功能
[root@mysql ~]# vim /etc/my.cnf
skip_name_resolve = ON
配置第二台主机。
# 要安装 php-fpm 以及 php-mysql
[root@php ~]# yum -y install php-fpm php-mysql
# 修改配置文件
[root@php ~]# vim /etc/php-fpm.d/www.conf
listen = 192.168.10.102:9000 # 监听在本机的网络接口上
listen.allowed_clients = 192.168.10.101 # 允许第一台主机连接
# 其它的默认不变
# 创建资源映射目录
[root@php ~]# mkdir -pv /apps/vhosts/{a.com,b.net}
# 写入 php 连接数据库的测试代码
<h1> 第 2 台虚拟主机 </h1>
<?php
$conn = mysql_connect(‘192.168.10.103′,’wpuser’,’wppass’);
if($conn)
echo “OK”
else
echo “Failure”
?>
# 启动 php-fpm 服务进程
[root@php ~]# systemctl start php-fpm
[root@php ~]# ss -tnl | grep 9000
LISTEN 0 128 192.168.10.102:9000 *:*
# 安装 php-xcache 加速器
[root@php ~]# yum -y install php-xcache
# 测试没有问题之后,现在可以开始在第二台主机上部署 WordPress 和 phpMyAdmin 程序了
# 首先搞定 WordPress
# 从官网下载 WordPress 压缩包
[root@php ~]# wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.zip
# 下载后解压,并移至资源映射目录路径下
[root@php ~]# unzip wordpress-4.7.4-zh_CN.zip
[root@php ~]# mv wordpress /apps/vhosts/a.com
#cd 进该目录,并复制样本配置文件 wp-config-sample.php 为 wp-config.php
[root@php ~]# cd /apps/vhosts/a.com/wordpress/
[root@php wordpress]# cp wp-config-sample.php wp-config.php
# 修改配置文件 wp-config.php,这里需要修改的数据库信息来自刚才在第三台主机上建立的数据库名、用户名和密码。
[root@php wordpress]# vim wp-config.php
// ** MySQL 设置 – 具体信息来自您正在使用的主机 ** //
/** WordPress 数据库的名称 */
define(‘DB_NAME’, ‘wpdb’); # 修改数据库名字,使用刚才在第三台主机上创建的数据库
/** MySQL 数据库用户名 */
define(‘DB_USER’, ‘wpuser’); # 修改用户名
/** MySQL 数据库密码 */
define(‘DB_PASSWORD’, ‘wppass’); # 修改密码
/** MySQL 主机 */
define(‘DB_HOST’, ‘192.168.10.103’); # 这里的 MySQL 主机指向第三台主机
# 至此 WordPress 就配置完成了,需要重载 php-fpm 的配置文件
[root@php ~]# systemctl reload php-fpm.service
# 测试 WordPress
# 使用浏览器输入 URL 为 http://www.a.com/wordpress
# 但是输入 http://www.a.com/wordpress 则能够访问,已经排除是 DirectoryIndex 的影响,那么如何能够使得用户访问虚拟主机 www.a.com 的 wordpress 目录时自动返回 index.php 呢?
# 问题解决思路:有可能是在第一台主机上没有创建 /apps/vhosts/a.com/wordpress 所致,虽然 wordpress 下的动态资源是存放在第二台 php-fpm 主机上的,而第一台 httpd 主机则用于存放静态资源,但在第一台主机上有可能仍需要有 wordpress 这个空目录。
[root@www ~]# mkdir /apps/vhosts/a.com/wordpress
# 再使用浏览器打开,输入的 URL 仍为 http://www.a.com/wordpress
# 可以发现,浏览器会被重定向到此页面,填写博客个人基本信息,填写后点击安装 WordPress
# 安装后点击登录
# 但是点击登录后出现如下页面
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-06/144431p2.htm
# 和刚才一样的解决思路,在第一台主机上的虚拟主机 www.a.com 站点目录下的 wordpress 目录下创建 wp-admin 目录
[root@www ~]# mkdir /apps/vhosts/a.com/wordpress/wp-admin
# 再次登录 wordpress
# 至此 Wordpress 安装并测试成功,接下来在第一台主机的第 2 台虚拟主机上搞定 phpMyAdmin
# 在第二台主机上下载 phpMyAdmin 压缩包
[root@php ~]# wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.zip
# 解压后并移至虚拟主机 www.b.net 的站点目录下
[root@php ~]# unzip phpMyAdmin-4.0.10.20-all-languages.zip
[root@php ~]# mv phpMyAdmin-4.0.10.20-all-languages /apps/vhosts/b.net
[root@php ~]# cd /apps/vhosts/b.net
[root@php b.net]# ln -sv phpMyAdmin-4.0.10.20-all-languages pma # 创建链接目录 pma
‘pma’->‘phpMyAdmin-4.0.10.20-all-languages’
#cd 进链接目录 pma,复制样本配置文件 config.sample.inc.php 为 config.inc.php,并修改之
[root@php b.net]# cd pma/
[root@php pma]# cp config.sample.inc.php config.inc.php
[root@php pma]# vim config.inc.php
# 主要修改这两项配置
$cfg[‘blowfish_secret’] = ‘ohTcFA/TpAW47B+cf1bE’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
# 上面两个单引号中间加上随机码,用于通信加密,随机码可由 openssl rand -base64 15 生成
$cfg[‘Servers’][$i][‘host’] = ‘192.168.10.103’; # 这里指向第三台主机(即数据库主机) 的地址
# 现在第 2 台虚拟主机的配置基本完成,重载 php-fpm 服务进程
[root@php ~]# systemctl reload php-fpm.service
# 在第三台主机上授权用户
[root@MySQL ~]# mysql
MariaDB [(none)]> GRANT ALL ON *.* TO pmauser@’192.168.%.%’ IDENTIFIED BY ‘pmapass’;
MariaDB [(none)]> FLUSH PRIVILEGES;
# 现在测试 phpMyAdmin
# 打开浏览器,输入 URL 为 http://www.b.net/pma,显示如下
# 解决思路:同样排除是由 DirectoryIndex 的影响,尽管动态资源应该存放在第二台主机上,但用户访问第二台主机上的目录名在第一台主机的虚拟主机站点目录下也需要存在
[root@www ~]# mkdir /apps/vhosts/b.net/pma
# 再次访问 http://www.b.net/pma,显示如下
# 重新生成随机码并修改到配置文件 config.inc.php 中,再次访问,填写刚才在第三台主机上授权的数据库用户名和密码即可登录
可以正常使用了。
下面关于 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
CentOS 7.2 yum 安装 LAMP 环境 http://www.linuxidc.com/Linux/2016-11/136766.htm
Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境 http://www.linuxidc.com/Linux/2014-10/107924.htm
LAMP 结合 NFS 构建小型博客站点 http://www.linuxidc.com/Linux/2015-08/121029.htm
CentOS7 下安装部署 LAMP 环境 http://www.linuxidc.com/Linux/2016-04/130653.htm
CentOS 7 上安装(LAMP)服务 Linux,Apache,MySQL,PHP http://www.linuxidc.com/Linux/2017-05/143868.htm
Ubuntu Server 14.04 LTS 下搭建 LAMP 环境图文详解 http://www.linuxidc.com/Linux/2016-12/138758.htm
Ubuntu Server 16.04 下配置 LAMP 环境 http://www.linuxidc.com/Linux/2016-12/138757.htm
CentOS 6.7 编译安装 LAMP 详解 http://www.linuxidc.com/Linux/2017-03/141244.htm
Ubuntu 16.04 搭建 LAMP 开发环境 http://www.linuxidc.com/Linux/2016-10/136327.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/144431.htm
题目:分别用三台 CentOS 7 主机部署 httpd、php-fpm、mariadb
第一台 192.168.10.101 –> httpd
第二台 192.168.10.102 –> php-fpm
第三台 192.168.10.103 –> mariadb
开始之前先把 selinux、iptables 给关闭了,方便测试。
# iptables -F
# setenforce 0
从第一台开始配置。
# 安装 httpd
[root@www ~]# yum -y install httpd
# 配置虚拟主机
DirectoryIndex index.php
<VirtualHost *:80>
ServerName www.a.com # 配置第一台虚拟主机
DocumentRoot “/apps/vhosts/a.com”
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.10.102:9000/apps/vhosts/a.com/$1
<Directory “/apps/vhosts/a.com”>
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.b.net # 配置第二台虚拟主机
DocumentRoot “/apps/vhosts/b.net”
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.10.102:9000/apps/vhosts/b.net/$1
<Directory “/apps/vhosts/b.net”>
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
# 创建资源映射目录
[root@www ~]# mkdir -pv /apps/vhosts/{a.com,b.net}
# 注释掉中心主机的文档根路径
#DocumentRoot “/var/www/html”
# 检查语法
[root@www ~]# httpd -t
Syntax OK
# 启动 httpd 服务进程
[root@www ~]# systemctl start httpd.service :::*
[root@www ~]# ss -tnl | grep 80
LISTEN 0 128 :::80 :::*
# 创建静态资源文件,作为测试用
[root@www ~]# vim /apps/vhosts/a.com/index.html
<h1> www.a.com </h1>
[root@www ~]# vim /apps/vhosts/b.net/index.html
<h1> www.b.net </h1>
# 修改 hosts 文件
# vim /etc/hosts
192.168.10.101 www.a.com www.b.net www.c.org
# 确保 httpd 有装载 fcgi 模块
[root@www ~]# httpd -M | grep fcgi
proxy_fcgi_module (shared)
配置第三台主机。
# 安装数据库
[root@MySQL ~]# yum -y install mariadb-server
# 启动起来
[root@mysql ~]# systemctl start mariadb.service
[root@mysql ~]# ss -tnl | grep 3306
LISTEN 0 50 *:3306 *:*
# 授权用户及创建数据库
[root@mysql ~]# mysql
MariaDB [(none)]> GRANT ALL ON wpdb.* TO wpuser@’192.168.%.%’ IDENTIFIED BY ‘wppass’;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> CREATE DATABASE wpdb;
# 禁用主机名解析功能
[root@mysql ~]# vim /etc/my.cnf
skip_name_resolve = ON
配置第二台主机。
# 要安装 php-fpm 以及 php-mysql
[root@php ~]# yum -y install php-fpm php-mysql
# 修改配置文件
[root@php ~]# vim /etc/php-fpm.d/www.conf
listen = 192.168.10.102:9000 # 监听在本机的网络接口上
listen.allowed_clients = 192.168.10.101 # 允许第一台主机连接
# 其它的默认不变
# 创建资源映射目录
[root@php ~]# mkdir -pv /apps/vhosts/{a.com,b.net}
# 写入 php 连接数据库的测试代码
<h1> 第 2 台虚拟主机 </h1>
<?php
$conn = mysql_connect(‘192.168.10.103′,’wpuser’,’wppass’);
if($conn)
echo “OK”
else
echo “Failure”
?>
# 启动 php-fpm 服务进程
[root@php ~]# systemctl start php-fpm
[root@php ~]# ss -tnl | grep 9000
LISTEN 0 128 192.168.10.102:9000 *:*
# 安装 php-xcache 加速器
[root@php ~]# yum -y install php-xcache
# 测试没有问题之后,现在可以开始在第二台主机上部署 WordPress 和 phpMyAdmin 程序了
# 首先搞定 WordPress
# 从官网下载 WordPress 压缩包
[root@php ~]# wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.zip
# 下载后解压,并移至资源映射目录路径下
[root@php ~]# unzip wordpress-4.7.4-zh_CN.zip
[root@php ~]# mv wordpress /apps/vhosts/a.com
#cd 进该目录,并复制样本配置文件 wp-config-sample.php 为 wp-config.php
[root@php ~]# cd /apps/vhosts/a.com/wordpress/
[root@php wordpress]# cp wp-config-sample.php wp-config.php
# 修改配置文件 wp-config.php,这里需要修改的数据库信息来自刚才在第三台主机上建立的数据库名、用户名和密码。
[root@php wordpress]# vim wp-config.php
// ** MySQL 设置 – 具体信息来自您正在使用的主机 ** //
/** WordPress 数据库的名称 */
define(‘DB_NAME’, ‘wpdb’); # 修改数据库名字,使用刚才在第三台主机上创建的数据库
/** MySQL 数据库用户名 */
define(‘DB_USER’, ‘wpuser’); # 修改用户名
/** MySQL 数据库密码 */
define(‘DB_PASSWORD’, ‘wppass’); # 修改密码
/** MySQL 主机 */
define(‘DB_HOST’, ‘192.168.10.103’); # 这里的 MySQL 主机指向第三台主机
# 至此 WordPress 就配置完成了,需要重载 php-fpm 的配置文件
[root@php ~]# systemctl reload php-fpm.service
# 测试 WordPress
# 使用浏览器输入 URL 为 http://www.a.com/wordpress
# 但是输入 http://www.a.com/wordpress 则能够访问,已经排除是 DirectoryIndex 的影响,那么如何能够使得用户访问虚拟主机 www.a.com 的 wordpress 目录时自动返回 index.php 呢?
# 问题解决思路:有可能是在第一台主机上没有创建 /apps/vhosts/a.com/wordpress 所致,虽然 wordpress 下的动态资源是存放在第二台 php-fpm 主机上的,而第一台 httpd 主机则用于存放静态资源,但在第一台主机上有可能仍需要有 wordpress 这个空目录。
[root@www ~]# mkdir /apps/vhosts/a.com/wordpress
# 再使用浏览器打开,输入的 URL 仍为 http://www.a.com/wordpress
# 可以发现,浏览器会被重定向到此页面,填写博客个人基本信息,填写后点击安装 WordPress
# 安装后点击登录
# 但是点击登录后出现如下页面
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-06/144431p2.htm