1、nfs server導出/data/application/web,在目錄中提供wordpress;
2、nfs client掛載nfs server導出的文件系統(tǒng)至/var/www/html;
3、客戶端1(lamp)部署wordpress,并讓其正常訪問;要確保能正常發(fā)文章,上傳圖片;
4、客戶端2(lamp),掛載nsf server導出的文件系統(tǒng)至/var/www/html;驗證其wordpress是否可被訪問;要確保能正常發(fā)文章,上傳圖片
部署環(huán)境(CentOS 7.7.1980):
nfs server IP:192.168.10.101? 提供共享目錄,提供mariadb數(shù)據(jù)庫
nfs客戶端1 IP:192.168.10.102? ? ? nfs client,httpd,php,php-mysql
nfs客戶端2 IP:192.168.10.103? ? ? ? nfs client,httpd,php,php-mysql
一、創(chuàng)建nfs服務端共享目錄及mariadb數(shù)據(jù)庫
服務端安裝nfs-utils程序包
# yum install nfs-utils -y
然后創(chuàng)建一個需要導出的目錄/data/application/web
# mkdir -pv /data/application/web
編輯/etc/exports,定義哪個共享目錄,允許哪些人訪問,具備哪些權限(man exports可以查看配置幫助)。此處設置為no_root_squash,不壓縮root用戶

開啟nfs服務,會附帶啟動rpc輔助類服務
?# systemctl start nfs.service
? 下載安裝MariaDB數(shù)據(jù)庫
# yum -y install mariadb-server
初始化配置mariadb
# vim /etc/my.cnf.d/server.cnf

啟動MariaDB
# systemctl start mariadb
對Mysql進行安全加固
# mysql_secure_installation
連入Mysql
# mysql -uroot -h127.0.0.1 -plhp@ssw0rd
在mariadb中創(chuàng)建數(shù)據(jù)庫以及用戶名密碼為wordpress提供;
MariaDB [(none)]> GRANT ALL ON wpdb.* TO 'wpuser'@'192.168.10.%' IDENTIFIED BY 'wppassword';
刷新授權表
MariaDB [(none)]> FLUSH PRIVILEGES;
創(chuàng)建數(shù)據(jù)庫wpdb
MariaDB [(none)]> CREATE DATABASE wpdb;
二、客戶端掛載共享目錄并部署wordpress
安裝httpd服務,nfs服務(掛載服務端使用)
# yum install httpd nfs-utils? -y
在客戶端1掛載共享目錄,使用mount -t ,相當于mount.nfs
# mount -t nfs -rw 192.168.10.101:/data/application/web /var/www/html? ? ?
mount選項掛載為rw,以保持和nfs服務端定義的權限一致,避免用戶產生權限不一致的錯覺

安裝php,php-mysql,此處使用Moudule方式安裝lamp
# yum install php php-mysql -y
由于上一步安裝的php,php-mysql版本太低,無法匹配我下載的wordpress使用,這里我又重新下載了新版本
(1)更換RPM源
#CentOs 7.X:
rpm -Uvh??https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh? https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
(2)刪除原來安裝的php相關包
# yum remove php*
(3)安裝php,php-mysql;php 7.0/7.1/7.2 分別表示為 70w/71w/72w
# yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-fpm php71w-gd php71w-mbstring php71w-mysqlnd php71w-opcache php71w-pdo php71w-xml php71w-ldap
(4)重啟httpd
# systemctl restart httpd
創(chuàng)建測試頁/var/www/html/phpinfo.php
vim /var/www/html/phpinfo.php

關閉防火墻和selinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
訪問測試

安裝wordpress服務,使其在客戶端能正常訪問
上傳WordPress-master.zip至客戶端1:/var/www/html
解壓并改名
cd /var/www/html/
unzip WordPress-master.zip
mv?WordPress-master? wordpress
編輯 wp-config.php
cd wordpress/
cp?wp-config-sample.php wp-config.php
vim?wp-config.php
將數(shù)據(jù)庫信息填入以下位置

瀏覽器訪問,在寫博客前已經嘗試創(chuàng)建了wordpress賬號和帖子,所以訪問時已經連接wpuser用戶。默認使用root用戶安裝后,/var/www/html下的權限為744,需要更改運行httpd的用戶以及nfs掛載映射的用戶的權限()。此處為了方便實驗,直接將掛載點和共享目錄的文件權限設置為777。

三、客戶端掛載共享目錄
安裝httpd服務,nfs服務(掛載服務端使用)
# yum install httpd?nfs-utils?-y
在客戶端1掛載共享目錄,使用mount -t ,相當于mount.nfs
# mount -t nfs -rw 192.168.10.101:/data/application/web /var/www/html? ? ?
mount選項掛載為rw,以保持和nfs服務端定義的權限一致,避免用戶產生權限不一致的錯覺
更換RPM源
#CentOs 7.X:
rpm -Uvh??https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh? ?https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安裝php,php-mysql;?php 7.0/7.1/7.2 分別表示為 70w/71w/72w
# yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-fpm php71w-gd php71w-mbstring php71w-mysqlnd php71w-opcache php71w-pdo php71w-xml php71w-ldap
啟動httpd
# systemctl restart httpd
關閉防火墻和selinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
訪問測試(由于掛載了共享目錄,不需要重新部署wordpress和測試頁)

客戶端1已經部署過了,所以直接測試可以發(fā)文字圖片即可
