2018-07-19 实现基于NFS共享的LAMP wordpress的应用

image.png

实验步骤如下:
环境:关闭所有主机的selinux和防火墙

1、在b上搭建dns服务器
yum install bind
service named start 
chkconfig named on
vim /etc/named.conf 
listen-on port 53 { localhost; };
allow-query     { any; };
dnssec-enable no;
dnssec-validation no;
vim /etc/named.rfc1912.zones 
zone "magedu.com" IN {
   type master;
   file "magedu.com.zone";
};
cd /var/named/
cp -a named.localhost magedu.com.zone ---一定要加-a选项,不然named用户没有权限去读区域解析库文件
vim magedu.com.zone 
$TTL 1D
@       IN SOA  dns1 admin.magedu.com. (
                                        88      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1
dns1    A       172.18.21.88
www     A       172.18.21.106
www     A       172.18.21.107
named-checkconf 
named-checkzone magedu.com magedu.com.zone 
rndc reload 或者service named restart 
2、在a上的操作,测试
将a上的dns服务器指向b
dig www.magedu.com
ping www.magedu.com
3、在c上搭建httpd和php服务
yum install httpd php php-mysql ---实验时c是一个centos6主机,因为httpd版本为2.2,不支持php-fpm,这里是以模块方式安装php
vim /etc/httpd/conf.d/test.conf 
namevirtualhost *:80 

servername www.magedu.com
documentroot /app/website
directoryindex index.php

service httpd start
chkconfig httpd on
mkdir /app/website
vim /app/website/index.php

welcomme to magedu.comi 106

将windows主机的dns指向b,在网页上测试http://www.magedu.com看是否连接php成功 4、在d上的操作,安装httpd和php-fpm yum install httpd php-fpm php-mysql vim /etc/php-fpm.d/www.conf ---进行监听端口和允许哪些主机访问设置。因这里httpd服务和php-fpm服务在同一台主机,此配置文件不需要修改,默认是监听在本机和允许本机访问 systemctl start php-fpm systemctl enable php-fpm vim /etc/httpd/conf.d/test.conf ---创建httpd的配置文件 servername www.magedu.com documentroot /app/website require all granted DirectoryIndex index.php ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/website/$1 systemctl start httpd systemctl enable httpd mkdir /app/website vim /app/website/index.php ---同c一样创建个测试的文件,看httpd和php是否可以连接 5、在e上的操作,创建数据库 yum install mysql-server service mysqld start chkconfig mysqld on mysql mysql> create database wpdb; mysql> grant all on wpdb.* to wpuser@'172.18.%' identified by "1"; quit 6、在c和d上测试是php是否可以连接数据库 vim /app/website/index.php

welcomme to magedu.comi 106

close(); phpinfo(); ?> 7、在f上的操作,创建nfs共享服务 yum install rpcbind nfs-utils -y systemctl start rpcbind systemctl enable rpcbind systemctl start nfs-server systemctl enable nfs-server vim /etc/exports /app/webshare *(rw) mkdir /app/webshare exportfs -r exportfs -v id apache ---查看本机是否有apache账号。如果没有创建一个,并且查看c和d主机的apache账号的uid和gid是否和本机的相同,如果不同要修改成一样的 setfacl -R -m u:apache:rwx /app/webshare ---授权apache账号对这个目录具有绝对控制权限,因为httpd服务是apache这个系统账号在访问磁盘资源。因为授权的是本机的apache账号,要使c和d的apache账号对这个目录具有绝对控制权限就需要c和d的uid和gid和本机相同。因为nfs服务是通过id识别身份的 tar xvf wordpress-4.8.1-zh_CN.tar.gz -C /app/webshare/ cd /app/webshare/ ln -s wordpress/ blog cp wp-config-sample.php wp-config.php vim wp-config.php /** WordPress数据库的名称 */ define('DB_NAME', 'wpdb'); /** MySQL数据库用户名 */ define('DB_USER', 'wpuser'); /** MySQL数据库密码 */ define('DB_PASSWORD', '1'); /** MySQL主机 */ define('DB_HOST', '172.18.21.6'); 8、在c和d上的操作,挂载远程nfs共享 showmount -e 172.18.21.7 mount 172.18.21.7:/app/webshare /app/website vim /etc/fstab 172.18.21.7:/app/webshare /app/website nfs default 0 0 9、在网页上安装wordpress后就可以看到博客了 http://www.magedu.com/blog/ 10、测试 停止c或者d的一个httpd服务看是否可以看到自己的博客

总结:httpd2.2不支持php-fpm,如果要实现需要编译安装httpd2.4和php-5.3.3+以上版本才可以,创建虚拟主机时可以在httpd的主配置文件中定义,也可以在子配置文件中定义(包括虚拟主机名、根目录的路径、索引文件等),在子配置文件中定义后,主配置文件中不需要再定义了,因为会覆盖主配置文件中的内容,httpd2.2创建虚拟主机时需要加上namevirtualhost *:80 ,httpd2.4不需要,但httpd2.4需要对根目录设置权限,默认是对任何人都没有权限的,需要加上如下内容


require all granted

你可能感兴趣的:(2018-07-19 实现基于NFS共享的LAMP wordpress的应用)