天天看點

nfs共享目錄及挂載

實驗内容:

  (1) nfs server導出/data/application/web,在目錄中提供wordpress; 

        (2) nfs client挂載nfs server導出的檔案系統至/var/www/html;

        (3) 用戶端(lamp)部署wordpress,并讓其正常通路;要確定能正常發文章,上傳圖檔;

        (4) 用戶端2(lamp),挂載nfs server導出的檔案系統至/var/www/html;驗正其wordpress是否可被通路; 要確定能正常發文章,上傳圖檔;

這裡用于實驗的3台主機:

        #服務端主機ip為:172.16.100.32    提供目錄共享,提供mysql資料庫

        #用戶端主機ip為:172.16.100.31    挂載目錄

        #用戶端主機ip為:172.16.100.33    挂載目錄

首先服務端主機安裝nfs-utils

[root@localhost ~]# yum install nfs-utils        預設應該是安裝的

        #然後建立一個需要導出的目錄

[root@localhost ~]# mkdir -pv /data/application/web

        #編輯配置檔案/etc/exports

[root@localhost ~]# vim /etc/exports

        #表示要導出共享的目錄 以及哪個ip位址的用戶端可以挂載,這裡是172.16網段的所有用戶端, 并且有讀寫權限

nfs共享目錄及挂載
nfs共享目錄及挂載

        #在服務端上建立使用者并且賦予權限;

[root@localhost ~]# useradd  apache    檢視id号

[root@localhost ~]# setfacl -m u:apache:rwx /data/application/web

        #檢視一下apache的id  

[root@localhost ~]# id apache

uid=1003(apache) gid=1003(apache) groups=1003(apache)        記住id号 等會要去用戶端改

        #重新開機服務,生産環境中不建議重新開機 ,這裡有一個指令可以導出所有

[root@localhost ~]# exportfs -ar

        #然後用戶端即可挂載使用了;用指令mount -t 相當于mount.nfs 

[root@centos7 ~]# mount -t nfs 172.16.100.32:/data/application/web  /var/www/html

        #格式: 挂載主機的ip以及服務端共享出來的目錄路徑  後面是挂載至用戶端的哪個目錄下

        #可以用mount指令檢視是否挂載成功以及詳細的資訊;

[root@centos7 ~]# mount

172.16.100.32:/data/application/web on /var/www/html type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.16.100.31,local_lock=none,addr=172.16.100.32)

        #但是現在用戶端上的使用者還沒有對這個/var/www/html目錄擁有寫權限;

        #apache的id号必須和服務端擁有權限使用者的id号一樣,這樣才能映射服務端使用者id到用戶端使用者id所能擁有的權限;

        #其實還有一個方法,可以指定運作httpd的使用者群組 在主配置檔案裡面改下即可

nfs共享目錄及挂載
nfs共享目錄及挂載

暫時不用這個方法

        #先把pache的id号改成和服務端一樣的id号 這樣就有挂載過來目錄的權限了

[root@localhost ~]# usermod -u 1003 apache

[root@localhost ~]# groupmod -g 1003 apache

        #如果想檢視服務端有哪些目錄可以挂載以及已經挂載了哪些可以用指令showmount -e 檢視;

[root@centos7 html]# showmount -e 172.16.100.32

export list for 172.16.100.32:

/data/application/web 172.16.0.0/16        

        #下面我們在服務端上提供wordpress檔案;然後讓其用戶端配置并能讓其正常通路;

安裝httpd服務

        #在mariadb中建立資料庫以及使用者名密碼為wordpress提供;

先進mysql  然後如下

mysql> grant all on wpdb.* to 'wpuser'@'172.16.%.%' identified by 'wppass';

mysql> flush privileges;

mysql>  create database wpdb;

        #修改wordpress配置檔案

[wu@centos7 ~]$ vim /var/www/html/wordpress/wp-config.php 

// ** mysql 設定 - 具體資訊來自您正在使用的主機 ** //

/** wordpress資料庫的名稱 */

define('db_name', 'wpdb');

/** mysql資料庫使用者名 */

define('db_user', 'wpuser');

/** mysql資料庫密碼 */

define('db_password', 'wppass');

/** mysql主機 */

define('db_host', '172.16.100.32');            這裡指向的是服務端主機ip

/** 建立資料表時預設的文字編碼 */

define('db_charset', 'utf8');

/** 資料庫整理類型。如不确定請勿更改 */

define('db_collate', '');

下面就驗證一下是否可以通路以及正常使用

nfs共享目錄及挂載
nfs共享目錄及挂載
nfs共享目錄及挂載
nfs共享目錄及挂載

成功了;

        #下面我們繼續第2台客戶機,和第一台的主機步驟一樣下面我就簡單寫下步驟;

[root@localhost yum.repos.d]# yum install  httpd php  php-mysql  安裝rpm包

[root@localhost yum.repos.d]# systemctl start httpd        啟動服務

[root@localhost yum.repos.d]# systemctl start mariadb    啟動服務

        #挂載服務端導出的目錄;用指令mount -t 相當于mount.nfs 

[root@localhost ~]# mount -t nfs 172.16.100.32:/data/application/web  /var/www/html

[root@localhost ~]#  mount

172.16.100.32:/data/application/web on /var/www/html type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.16.100.33,local_lock=none,addr=172.16.100.32)

        #因為共享的目錄裡面提供了wordpress以及裡面的配置第一台用戶端已經配置好了,是以這裡就不需要重新配置了;

        #然後即可登入測試是否可登入第2台客戶機,是否可以發博文,資料存儲是否可用;

nfs共享目錄及挂載
nfs共享目錄及挂載
nfs共享目錄及挂載

#登入成功,因為第一台客戶機登入的時候已經安裝了并且這個檔案是共享的是以一進來可以看到客戶機1發的文章

nfs共享目錄及挂載

        #下面我們在發一篇文章如果可以發圖檔則大功告成;

nfs共享目錄及挂載
nfs共享目錄及挂載

        成功;

繼續閱讀