基於NFS-LAMP架構、共用1個Discuz,MySQL的雙WEBServer

餘二五發表於2017-11-15

 

首先我們來闡述下觀點:
 

       如圖:當使用者訪問虛擬機器2的時候,可以訪問到通過NFS掛載到本地的DISCUZ論壇,其中的資料儲存在虛擬機器1中,以此來保證論壇內容改變的時候虛擬機器2訪問的資料跟隨改變,即資料的統一性。這一切都要通過NFS服務來實現。
步驟:
1、先在虛擬機器1中搭建完整的LAMP服務並安裝DISCUZ論壇。
2、在虛擬機器2中搭建LAP服務
3、將DISCUZ論壇目錄通過NFS掛載到虛擬機器2中,使虛擬機器2可以實現論壇的訪問併為論壇新增資料。所以虛擬機器2只需要搭建LAP服務即可。
       PS:其中虛擬機器1地址為172.16.111.1,虛擬機器2地址為172.16.111.2
 
 
前提:
       因為要用到yum安裝,所以請事先確保好yum的配置是否已經妥當。可參照http://407711169.blog.51cto.com/6616996/1179601中前幾步介紹的步驟。以及事先準備好相應的軟體包,:httpd-2.4.3.tar + mysql-5.5.28 + php-5.4.8 apr-util-1.4.1.tar,apr-1.4.6.tar 
另外需要檢視selinux是否開啟。同樣可參照上邊部落格中的方法來實現關閉selinux

  1. [root@localhost ~]# getenforce  
  2. Enforcing   
  3. [root@localhost ~]# setenforce 0   
  4. [root@localhost ~]# getenforce  
  5. Permissive   
  6. //當然。這裡也需要到vim /etc/selinux/config將其中的SELINUX=enforcing替換為SELINUX=permissive 
 

 

編譯配置主伺服器(虛擬機器1)的LAMP:
 
一、編譯安裝apache
 
 注意:事先把httpd-2.4.3.tar,apr-util-1.4.1.tar,apr-1.4.6.tar 這三個包放到/usr/local/src/目錄中,方法具體不在介紹xshell與window介面拖拽。另外需要注意的是,要將虛擬機器裡linux的時間做同步。–hwclock -s
 
 1解決依賴關係
(1) 編譯安裝apr

  1. [root@localhost src]# ls  
  2. apr-1.4.6.tar.bz2 apr-util-1.4.1.tar.bz2 httpd-2.4.3.tar.bz2  
  3. [root@localhost src]# tar xf apr-1.4.6.tar.bz2   
  4. [root@localhost src]# cd apr-1.4.6  
  5. [root@localhost apr-1.4.6]# ./configure –prefix=/usr/local/apr // prefix指定路徑  
  6. [root@localhost apr-1.4.6] # make && make install //這裡稍微簡略了下步驟  
  7. //這個時候,apr已經安裝好了 。然後去安裝apr-util  
 (2) 編譯安裝apr-util

  1. [root@localhost apr-1.4.6]# cd ..  
  2. [root@localhost src]# tar xf apr-util-1.4.1.tar.bz2   
  3. [root@localhost src]# cd apr-util-1.4.1  
  4. [root@localhost apr-util-1.4.1]# ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr //-with-apr告訴其apr的路徑  
  5. [root@localhost apr-util-1.4.1]# make  
  6. [root@localhost apr-util-1.4.1]# make install  
(3) httpd-2.4.3編譯過程也要依賴於pcre-devel軟體包,需要事先安裝。此軟體包系統光碟自帶,因此,找到並安裝即可。

  1. [root@localhost apr-util-1.4.1]# cd ..  
  2. [root@localhost src]# yum install pcre-devel  
 
  2、編譯安裝httpd-2.4.3
  

  1.  [root@localhost src]# tar xf httpd-2.4.3.tar.bz2   
  2. [root@localhost src]# cd httpd-2.4.3  
  3. [root@localhost httpd-2.4.3]# ./configure –prefix=/usr/local/apache –sysconfdir=/etc/httpd –enable-so –enable-ssl –enable-cgi –enable-rewrite –with-zlib –with-pcre –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util –enable-mpms-shared=all –with-mpm=event   //mpm=even預設使用event  
  4. [root@localhost httpd-2.4.3]# make  
  5. [root@localhost httpd-2.4.3]# make install  
 
 3、修改httpd的主配置檔案,設定其Pid檔案的路徑

  1. [root@localhost src]# vim /etc/httpd/httpd.conf  
  2. //新增如下內容  
  3. PidFile “/var/run/httpd.pid”  
 4、提供SysV服務指令碼/etc/rc.d/init.d/httpd,內容如下:

  1. [root@localhost src]# cd /etc/rc.d/init.d/  
  2. [root@localhost init.d]# vim httpd  
  3. //新增如下內容  
  4. #!/bin/bash  
  5. #  
  6. # httpd        Startup script for the Apache HTTP Server  
  7. #  
  8. # chkconfig: – 85 15  
  9. # description: Apache is a World Wide Web server. It is used to serve   
  10. #            HTML files and CGI.  
  11. # processname: httpd  
  12. # config: /etc/httpd/conf/httpd.conf  
  13. # config: /etc/sysconfig/httpd  
  14. # pidfile: /var/run/httpd.pid  
  15.    
  16. # Source function library.  
  17. . /etc/rc.d/init.d/functions  
  18.    
  19. if [ -f /etc/sysconfig/httpd ]; then  
  20.         . /etc/sysconfig/httpd  
  21. fi  
  22.    
  23. # Start httpd in the C locale by default.  
  24. HTTPD_LANG=${HTTPD_LANG-“C”}  
  25.    
  26. # This will prevent initlog from swallowing up a pass-phrase prompt if  
  27. # mod_ssl needs a pass-phrase from the user.  
  28. INITLOG_ARGS=“” 
  29.    
  30. # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server  
  31. # with the thread-based “worker” MPM; BE WARNED that some modules may not  
  32. # work correctly with a thread-based MPM; notably PHP will refuse to start.  
  33.    
  34. # Path to the apachectl script, server binary, and short-form for messages.  
  35. apachectl=/usr/local/apache/bin/apachectl  
  36. httpd=${HTTPD-/usr/local/apache/bin/httpd}  
  37. prog=httpd 
  38. pidfile=${PIDFILE-/var/run/httpd.pid}  
  39. lockfile=${LOCKFILE-/var/lock/subsys/httpd}  
  40. RETVAL=0 
  41.    
  42. start() {  
  43.         echo -n $”Starting $prog: ”  
  44.         LANG=$HTTPD_LANG daemon –pidfile=${pidfile} $httpd $OPTIONS  
  45.         RETVAL=$?  
  46.         echo  
  47.         [ $RETVAL = 0 ] && touch ${lockfile}  
  48.         return $RETVAL  
  49. }  
  50.    
  51. stop() {  
  52.        echo -n $”Stopping $prog: ”  
  53.        killproc -p ${pidfile} -d 10 $httpd  
  54.        RETVAL=$?  
  55.        echo  
  56.        [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}  
  57. }  
  58. reload() {  
  59.     echo -n $”Reloading $prog: ”  
  60.     if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then  
  61.         RETVAL=$?  
  62.         echo $”not reloading due to configuration syntax error”  
  63.         failure $”not reloading $httpd due to configuration syntax error”  
  64.     else  
  65.         killproc -p ${pidfile} $httpd -HUP  
  66.         RETVAL=$?  
  67.     fi  
  68.     echo  
  69. }  
  70.    
  71. # See how we were called.  
  72. case “$1” in  
  73.  start)  
  74.        start  
  75.        ;;  
  76.  stop)  
  77.        stop  
  78.        ;;  
  79.  status)  
  80.         status -p ${pidfile} $httpd  
  81.        RETVAL=$?  
  82.        ;;  
  83.  restart)  
  84.        stop  
  85.        start  
  86.        ;;  
  87.  condrestart)  
  88.        if [ -f ${pidfile} ] ; then  
  89.               stop  
  90.               start  
  91.        fi  
  92.        ;;  
  93.  reload)  
  94.         reload  
  95.        ;;  
  96.  graceful|help|configtest|fullstatus)  
  97.        $apachectl $@  
  98.        RETVAL=$?  
  99.        ;;  
  100.  *)  
  101.        echo $”Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}”  
  102.        exit 1  
  103. esac  
  104.    
  105. exit $RETVAL  
 
   

  1.  //而後為此指令碼賦予執行許可權:  
  2. [root@localhost init.d]# chmod +x httpd  
  3. [root@localhost init.d]# chkconfig –level 35 httpd on //設定執行級別  
  4. [root@localhost init.d]# chkconfig –list httpd  
  5. httpd             0:off       1:off       2:off       3:on 4:off       5:on 6:off  
  6. //下面的步驟可忽略,這裡只是可以設定為bash可以直接執行  
  7. [root@localhost init.d]# vim /etv/profile.d/httpd.sh   
  8. //新增  
  9. #/bin/bash  
  10. export PATH=$PATH:/usr/local/apache/bin  
  11.    
  12. [root@localhost init.d]# export PATH=$PATH:/usr/local/apache/bin  
這個時候就可以驗證下httpd服務了。
 
然後開啟瀏覽器,輸入172.16.111.1就可以檢視工作網頁了。
    其網頁檔案在/usr/local/apache/htdocs/中的index.html中,可以修改其中的內容對網頁內容進行修改。
 
 

 
二、安裝mysql-5.5.28
 前提:這裡使用mysql-5.5.28-linux2.6-tar,提前下載放入linux中
1、準備資料存放的檔案系統  
新建一個邏輯卷,這裡假設其邏輯卷的掛載目錄為/mydata,而後需要建立/mydata/data目錄做為mysql資料的存放目錄。

  1. [root@localhost init.d]# fdisk /dev/sda  
  2. //其中過程省略。。  
  3. [root@localhost init.d]# partprobe /dev/sda  
  4. //建立邏輯卷  
  5. [root@localhost init.d]# pvcreate /dev/sda5   
  6.  Writing physical volume data to disk “/dev/sda5”  
  7.  Physical volume “/dev/sda5” successfully created  
  8. [root@localhost init.d]# vgcreate myvg /dev/sda5  
  9.  Volume group “myvg” successfully created  
  10. [root@localhost init.d]# lvcreate -n mydata -L 5G myvg  
  11.  Logical volume “mydata” created  
  12. [root@localhost init.d]# lvs  
  13.  LV     VG     Attr   LSize Origin Snap% Move Log Copy% Convert  
  14.  mydata myvg   -wi-a- 5.00G                                        
  15.  lvtext vgtext -wi-a- 1.00G                                        
  16.  home   vol0   -wi-ao 4.88G                                        
  17.  root   vol0   -wi-ao 29.28G                                        
  18. [root@localhost init.d]# mke2fs -j /dev/myvg/mydata  
  19. //設定開機掛載  
  20. [root@localhost ~]# mkdir /mydata  
  21. [root@localhost ~]# vim /etc/fstab  
  22. //新增如下內容  
  23. /dev/myvg/mydata        /mydata                 ext3    defaults        0 0  
  24. [root@localhost ~]# mount –a  //重新掛載  
  25. [root@localhost ~]# mkdir /mydata/data //作為資料的掛載目錄  
2、新建使用者以安全方式執行程式:

  1. //建立使用者  
  2. [root@localhost ~]# groupadd -r mysql  
  3. [root@localhost ~]# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql  
  4. [root@localhost ~]# chown -R mysql:mysql /mydata/data  
 
 3安裝並初始化mysql-5.5.28

  1. [root@localhost ~]# cd /usr/local/src/  
  2. [root@localhost src]# tar xf mysql-5.5.28-linux2.6-i686.tar.gz  
  3. [root@localhost src]# cd ..  
  4. [root@localhost local]# pwd  
  5. /usr/local  
  6. [root@localhost local]# ln -sv /usr/local/src/mysql-5.5.28-linux2.6-i686 mysql  
  7. create symbolic link `mysql` to `/usr/local/src/mysql-5.5.28-linux2.6-i686`   
  8. [root@localhost local]# cd mysql  
  9. [root@localhost mysql]# chown -R mysql:mysql .  
  10. [root@localhost mysql]# scripts/mysql_install_db –user=mysql –datadir=/mydata/data  
  11. Installing MySQL system tables…  
  12. [root@localhost mysql]#  
  4為mysql提供主配置檔案:

  1. [root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf  
  2. [root@localhost mysql]# vim /etc/my.cnf  
  3. //並修改此檔案中thread_concurrency的值為你的CPU個數乘以2,比如這裡使用如下行:  
  4. thread_concurrency = 2 
  5.    
  6. //另外還需要新增如下行指定mysql資料檔案的存放位置:  
  7. datadir = /mydata/data   //新增此行指定mysql資料檔案的存放位置  
 
   5、為mysql提供sysv服務指令碼:

  1. [root@localhost mysql]# pwd  
  2. /usr/local/mysql  
  3. [root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld  
  4. [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld  
  5. //新增至服務列表:  
  6. [root@localhost mysql]# chkconfig –add mysqld  
  7. [root@localhost mysql]# chkconfig mysqld on  
  8. 而後就可以啟動服務測試使用了。  
 
 
為了使用mysql的安裝符合系統使用規範,並將其開發元件匯出給系統使用,這裡還需要進行如下步驟:
 6輸出mysql的man手冊至man命令的查詢路徑:

  1. [root@localhost mysql]# vim /etc/man.config  
  2. #####################mysql#############  
  3. MANPATH /usr/local/mysql/man  
 
 7輸出mysql的標頭檔案至系統標頭檔案路徑/usr/include

  1. 這可以通過簡單的建立連結實現:  
  2. [root@localhost mysql]# ln -sv /usr/local/mysql/include /usr/include/mysql  
  3. create symbolic link `/usr/include/mysql` to `/usr/local/mysql/include`  
8輸出mysql的庫檔案給系統庫查詢路徑:

  1. [root@localhost ld.so.conf.d]# echo `/usr/local/mysql/lib` > /etc/ld.so.conf.d/mysql.conf  
 9、修改PATH環境變數,讓系統可以直接使用mysql的相關命令。

  1. [root@localhost ld.so.conf.d]# vim /etc/profile //需要重讀或重啟或重新登入  
  2. PATH=$PATH:/usr/local/mysql/bin  
  3. //另外export PATH=$PATH:/usr/local/mysql/bin 也可以起到上邊的效果  
  4.    
  5. PS:這個時候。就可以進入資料庫建立表之類的東西了!  
 圖片僅為連線的測試:

 

 

三、編譯安裝php-5.4.13
 1、解決依賴關係:
       

  1. 請配置好yum源(可以是本地系統光碟)後執行如下命令:  
  2.        [root@localhost ~]# yum -y groupinstall “X Software Development”  
  3. 如果想讓編譯的php支援mcrypt擴充套件,此處還需要下載如下兩個rpm包並安裝之:  
  4. libmcrypt-2.5.7-5.el5.i386.rpm  
  5. libmcrypt-devel-2.5.7-5.el5.i386.rpm  
  6. mhash-0.9.2-6.el5.i386  
  7. mhash-devel-0.9.2-6.el5.i386  
 

2、編譯安裝php-5.4.13 
 

  1. 將下載好的安裝包放到linux的src中(過程同上)  
  2. [root@localhost src]# tar xf php-5.4.13.tar.bz2  
  3. [root@localhost php-5.4.13]# ./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-openssl –with-mysqli=/usr/local/mysql/bin/mysql_config –enable-mbstring –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –enable-sockets –with-apxs2=/usr/local/apache/bin/apxs –with-mcrypt –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d –with-bz2 –enable-maintainer-zts  
  4. //說明:   
  5. –prefix=/usr/local/php:php安裝路徑   
  6. –with-mysql=/usr/local/mysql:mysql安裝路徑   
  7. –with-openssl:支援openssl功能   
  8. –with-mysqli=/usr/local/mysql/bin/mysql_config:mysql與apache訪問的另一種介面,安裝在二進位制目錄下   
  9. –enable-mbstring:多位元組string   
  10. –with-freetype-dir:安裝的字型庫標頭檔案   
  11. –with-jpeg-dir:jpeg型別的庫   
  12. –with-png-dir:png型別的庫   
  13. –with-zlib:網際網路上通用壓縮庫,先壓縮再傳送,減少頻寬   
  14. –with-libxml-dir=/usr:xml庫檔案的路徑   
  15. –enable-xml:支援xml功能      
  16. –enable-sockets:php支援套接字功能      –with-apxs2=/usr/local/apache/bin/apxs:基於apxs實現讓php編譯成apache模組   
  17. –with-mcrypt:支援額外的加密庫   
  18. –with-config-file-path=/etc:php配置檔案放置路徑     
  19. –with-config-file-scan-dir=/etc/php.d :php配置檔案的分段檔案放置路徑   
  20. –with-bz2 :壓縮庫   
  21. –enable-maintainer-zts:當apache使用worker或event這兩個MPM,編譯時使用該選項   
  22.    
  23. [root@localhost php-5.4.13]# make  
  24. [root@localhost php-5.4.13]# make test  
  25. [root@localhost php-5.4.13]# make install  
  26.    
  27. 為php提供配置檔案:  
  28. [root@localhost php-5.4.13]# cp php.ini-production /etc/php.ini   
  29. //php包中提供了配置檔案,把配置檔案重新命名為/etc/php.ini,php的配置檔案字尾名是以.ini結尾  
 
 
 
 3、 編輯apache配置檔案httpd.conf,以apache支援php
  

  1.  [root@localhost php-5.4.8]# vim /etc/httpd/httpd.conf  
  2. 1、新增如下二行  
  3.    AddType application/x-httpd-php .php  
  4.    AddType application/x-httpd-php-source .phps  
  5. //能夠讓APACHE處理PHP結尾的檔案  
  6.  2、定位至DirectoryIndex index.html   
  7.    修改為:  
  8. DirectoryIndex index.php index.html  
  9. //能讓目錄索引處理php結尾的頁面檔案。在配置檔案中可以根據自己安裝內容啟動相對模組。比如:SSL模組等。  
  10. [root@localhost php-5.4.13]#cd /usr/local/apache/htdocs/     //進入apache頁面目錄下,把預設頁面修改為php頁面檔案   
  11. [root@localhost php-5.4.13]#mv index.html index.php   
  12. [root@localhost php-5.4.13]#vim index.php   
  13. <html><body><h1>It works! doubao’s test page</h1></body></html>   
  14. <?php   
  15. phpinfo();   
  16. ?> 
  17. :wq   
  18. //儲存退出   
  19. [root@localhost htdocs]# service httpd restart //重啟  
  20. //發起php頁面測試   
  21. //生成的測試頁面內容對我們還是會有幫助,可以留意一下里面的內容   
 

 
 
 
4、 phpmysql結合,在index.php頁面檔案中修改一下內容
 

  1. <html><body><h1>It works! my test page</h1></body></html>   
  2. <?php   
  3. $conn=mysql_connect(`localhost`,`root`,“);   
  4.        if ($conn)   
  5. echo “<h2>Success…</h2>“;   
  6.        else   
  7. echo “<h2>Failure…</h2>“;   
  8. phpinfo();   
  9. ?> 
  10. //儲存退出然後  
  11. [root@localhost htdocs]# service httpd restart //重啟網路服務  
 
 

到這裡,一個linux+apache+mysql+php的LAMP已經搭建好了。 
四、搭建DISCUZ論壇
 1、事先將準備好的DISCUZ壓縮包放入linux中,做前提準備工作

  1. [root@localhost ~]# vim /etc/httpd/httpd.conf       #指定網頁存放目錄  
  2.    
  3. #DocumentRoot “/usr/local/apache/htdocs”  
  4. DocumentRoot “/www/a.org”  
  5. #<Directory “/usr/local/apache/htdocs”> 
  6. <Directory “/www/a.org”> 
  7.    
  8. [root@localhost discuz]# cd /usr/local/src/discuz/     
  9. [root@localhost discuz]# unzip Discuz_X2.5_SC_GBK.zip          #解壓軟體包  
  10. [root@localhost discuz]# mv ./upload/* /www/a.org/               #將解壓後的檔案放到網頁目錄中  
  11. [root@localhost discuz]# mysqladmin -uroot -p password `redhat`            #為資料庫新增密碼  
  12.    
  13. 登入資料庫為root使用者新增遠端許可權  
  14. mysql> grant all privileges on *.* to root@`%` identified by `redhat`;  
  15. Query OK, 0 rows affected (0.30 sec)  
 
2、安裝DISCUZ論壇
 
開啟IE輸入虛擬機器1地址:172.16.111.1進行DISCUZ嚮導安裝,
 

然後第二部的時候為他們增加讀寫許可權:
 


  1. [root@localhost discuz]# cd /www/a.org/  
  2. [root@localhost a.org]# mkdir ./config/config_global.php  
  3. [root@localhost a.org]# mkdir ./config/config_ucenter.php  
  4. [root@localhost a.org]# chmod o+rw ./config/*  
  5.  [root@localhost a.org]# chmod o+rw ./data  
  6. [root@localhost a.org]# chmod o+rw ./data/cache  
  7. [root@localhost a.org]# chmod o+rw ./data/avatar  
  8. [root@localhost a.org]# chmod o+rw ./data/plugindata  
  9. [root@localhost a.org]# chmod o+rw ./data/download  
  10. [root@localhost a.org]# chmod o+rw ./data/addonmd5  
  11. [root@localhost a.org]# chmod o+rw ./data/template  
  12. [root@localhost a.org]# chmod o+rw ./data/threadcache  
  13. [root@localhost a.org]# chmod o+rw ./data/attachment  
  14. [root@localhost a.org]# chmod o+rw ./data/attachment/album  
  15. [root@localhost a.org]# chmod o+rw ./data/attachment/forum  
  16. [root@localhost a.org]# chmod o+rw ./data/attachment/group   
  17. [root@localhost a.org]# chmod o+rw ./data/log  
  18. [root@localhost a.org]# chmod o+rw ./uc_client/data/cache  
  19. [root@localhost a.org]# chmod o+rw ./uc_server/data  
  20. [root@localhost a.org]# chmod o+rw ./uc_server/data/cache  
  21. [root@localhost a.org]# chmod o+rw ./uc_server/data/avatar  
  22. [root@localhost a.org]# chmod o+rw ./uc_server/data/backup  
  23. [root@localhost a.org]# chmod o+rw ./uc_server/data/logs  
  24. [root@localhost a.org]# chmod o+rw ./uc_server/data/tmp  
  25. [root@localhost a.org]# chmod o+rw ./uc_server/data/view  
 
然後繼續進行下一步安裝
 

 

這時。第一步已經Ok,然後來做第二步。
 
 
 

 


為虛擬機器2搭建LAP服務
一、編譯安裝apache
(參照上邊的步驟一)
二、編譯安裝php-5.4.13
(參照上邊的步驟二)
這裡需要注意的是,在編譯安裝php5.4.13時,由於沒有安裝MySQL,這裡需要更改.config為:

  1. ./configure –prefix=/usr/local/php –with-openssl –enable-mbstring –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –enable-sockets –with-apxs2=/usr/local/apache/bin/apxs –with-mcrypt –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d –with-bz2 –enable-maintainer-zts  
搭建好以後開啟瀏覽器測試下,網頁是否能夠正常開啟!
 

 


 
安裝NFS服務,共享檔案
 
首先回到虛擬機器1

  1. [root@localhost config]# service portmap status  
  2. portmap (pid 2958) is running…                  
  3. //檢視下此服務是否在執行中,因為NFS服務要在這個服務的基礎上才能開啟  
  4. [root@localhost config]# service nfs start      //開始NFS服務  
  5. Starting NFS services:                                     [ OK ]  
  6. Starting NFS quotas:                                       [ OK ]  
  7. Starting NFS daemon:                                       [ OK ]  
  8. Starting NFS mountd:                                       [ OK ]  
  9.    
  10. PS:這個時候可以# rpcinfo -p localhost 檢視所有rpc程式所監聽的埠  
  11. [root@localhost config]# vim /etc/exports  
  12. /www/a.org      172.16.0.0/16(rw,no_root_squash)      
  13. ###no_root_squash: 不將root使用者對映為來賓賬戶為了讓虛擬機器2可以讀寫  
  14. :wq  
  15. [root@localhost config]# exportfs –ra   
  16. //切記!!!要重新匯出!!!  
 
然後回到虛擬機器2:

  1. [root@localhost htdocs]# mount -t nfs 172.16.111.1:/www/a.org /usr/local/apache/htdocs/  
  2. ###客戶端使用mount命令掛載  
  3. 當然這裡也可以將其設為開機自動掛在:  
  4. [root@localhost htdocs]# vim /etc/fstab  
  5. 172.16.111.1:/www/a.org     /usr/local/apache/htdocs         nfs          defaults,_rnetdev 0 0  
  6. #######_rnetdev:設定開機自動掛載時,能掛載就掛載,不能掛載就算了  
 
 
測試:
 
這裡不再做具體演示。提示:輸入172.16.111.1或者172.16.111.2。在兩個網頁上各註冊一個新的賬號來進行發帖操作,看看發帖之後對方是否能夠即時看到帖子,是否為同步。
本文轉自 陳延宗 51CTO部落格,原文連結:http://blog.51cto.com/407711169/1188711,如需轉載請自行聯絡原作者


相關文章