IP,注释监听所有, 只写端口监听鄋
;listen.allowed_clients = 127.0.0.1. #把这项注释掉,分号为注释
systemctl start php-fpm
4.配置NFS服务器
NFS服务器的配置特别简单,最重要的时配置完后就赶紧将NFS共享目录挂载至web1、web2、PHP服务器的网站根目录。
mkdir -pv /app/nfs/web #创建共享目录,此目录为网站的根目录,实现统一管理。
vim /etc/exports
/app/nfs/web 172.18.0.0/16(ro,sync,root_squash,no_all_squash)
# 允许172.18.0.1网段挂载NFS共享,如果要提高安全性应该控制到主机
Web1服务器
mount 172.18.68.24:/app/nfs/web /app/httpd24/htdocs #/app/httpd24/htdocs为httpd.conf中的根目录
Web2服务器
mount 172.18.68.24:/app/nfs/web /app/httpd24/htdocs #/app/httpd24/htdocs为httpd.conf中的根目录
PHP应用服务器
mkdir /app/httpd24/htdocs #PHP没有根目录,/app/httpd24/htdocs为NFS的挂载点。
mount 172.18.68.24:/app/nfs/web /app/httpd24/htdocs
5.配置Apache实现动静分离
加载模块
vim /etc/httpd24/httpd.conf
LoadModule proxy_module modules/mod_proxy.so #取消两行的注释,加载两模块
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
动静分离
在配置文件的末尾追加这四行,利用代理将所有以.php结尾的文件交给PHP服务器处理,实现动静分离
vim /etc/httpd24/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
ProxyRequests Off 关闭正向代理
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1
#要确保PHP服务器中有这个目录,(在NFS中创建这个目录,且将NFS挂载至此目录。)
apachectl restart
6.部署wordpress博客
因为web1、web2、PHP服务器都使用NFS共享的目录作为根目录,所以只需要将wordpress博客系统部署在NFS服务器上即可让所有服务器得到同样的数据。
安装博客程序
# 解压博客程序
tar xvf wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs
cd /app/httpd24/htdocs
mv wordpress/ blog/
# 创建配置文件
cd /app/httpd24/htdocs/blog/
cp wp-config-sample.php wp-config.php
配置数据库
wordpress需要数据库,所以在此先创建一个wordpress专用的数据库,且创建授权用户。
mysql -uroot -pcentos
create datebase wpdb;
grant all on wpdb.* to wpuser@'172.18.68.%' identified by 'centos';
配置wordpress连接数据库
# 编辑配置文件,写入创建的IP、数据库、与用户性
vim wp-config.php
define('DB_NAME', 'wpdb');
#
/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');
#
/** MySQL数据库密码 */
define('DB_PASSWORD', 'centos');
#
/** MySQL主机 */
define('DB_HOST', 'localhost');
7.登录测试
8.配置DNS负载均衡
购买了单独域名后,在后台控制面板中添加两条A记录,就可以达到负载均衡。
到这里基于LAMP+NFS架构的双Web服务器、动静分离网站就搭建完成了。
双WEB服务器架构的好处在于如果有一台服务器宕机不会是整个网站瘫痪。
NFS共享存储的好处在于,DNS负载均衡后,不论用户被分配到哪台主机上,都能看到相同的页面得到相同的结果。