Samba和NFS的實現
(1) 使用samba和NFS分別共享/data目錄;
(2) 讓samba客戶端和NFS客戶端分別掛載samba服務器上共享的/data/至本地的/mydata目錄;本地的mysqld或mariadb服務的數據目錄設置為/mydata,要求服務能正常啟動,且可正常存儲數據;
samba共享/data目錄 (本機ip172.16.0.149)
編輯/etc/samba/smb.conf,寫入配置段
[global] workgroup = WORKGROUP security = user passdb backend = tdbsam:/etc/samba/tdsamba.db //定義安全賬戶管理,這次選的tdbsam,並且定義數據庫絕對路徑 printing = cups printcap name = cups load printers = yes cups options = raw
[data] comment = Mariadb shared directory // 註釋信息 path = /data //共享目錄的絕對路徑 write list = root @wangfugui +mysql //定義合法用戶,並指定是否有寫權限 create mode = 0644 //創建文件的默認權限 directory mode = 0744 //創建目錄的默認權限 public = no //不允許共享目錄公開給所有用戶訪問 browseable = no //不允許共享目錄在訪問頁面被看到
4.給數據庫中,添加用戶,密碼可以自己設定
[root@localhost ~]# pdbedit -a mysql new password: retype new password: [root@localhost ~]# ls /etc/samba/ lmhosts smb.conf smb.conf.example tdsamba.db 使用pdbedit添加用戶,會自動創建 tdsamba.db文件
5.在另一臺主機上查看共享目錄
[root@bogon samba]# smbclient -L 172.16.0.149 Enter root's password: Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.4] Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers myshare Disk CentOS 5 shared directory data Disk Mariadb shared directory apache Disk LAMP shared directory IPC$ IPC IPC Service (Samba 4.4.4) root Disk Home Directories
6.實現掛載
[root@bogon samba]# mount -t cifs -o username=mysql //172.16.0.149/data /mydata Password for mysql@//172.16.0.149/data: ***
7.讓客戶機mysql數據庫目錄設為/mydata,並讓數據庫可以使用
a.修改客戶機/etc/my.cnf
datadir = /mydata
b.在服務器端,給/data修改權限(為了保證,文件系統能讓客戶機的mysql用戶有寫權限)
[root@localhost ~]# chmod 777 /data
c.給/data復制數據庫內容(需要保留權限)
[root@localhost ~]# cp -a /var/lib/mysql/* /data
d.使用客戶機啟動mysql服務
[root@bogon support-files]# ./mysql.server start Starting MySQL.180525 20:39:29 mysqld_safe Logging to '/mydata/bogon.err'. 180525 20:39:29 mysqld_safe Starting mysqld daemon with databases from /mydata ... SUCCESS!
因為我使用mysql掛載的,而且兩臺機子mysql 的UID相同,所以可以看到目錄下文件,權限均為mysql
在mysql內創建一個數據庫
MariaDB [(none)]> create database ceshi2; Query OK, 1 row affected (0.07 sec)
可以在服務器端/data/下。看到相應目錄
二:NFS實踐
在服務器端創建/data1目錄
修改配置文件/etc/exports
/data1 172.16.0.147(rw)
3.啟動nfs服務
[root@localhost ~]# systemctl start nfs
4.在客戶機上查看服務器共享的目錄
[root@bogon support-files]# showmount -e 172.16.0.149 Export list for 172.16.0.149: /data1 172.16.0.147
6.在客戶機上掛載/data1目錄
[root@bogon support-files]# mount -t nfs 172.16.0.149:/data1 /mydata1 [root@bogon support-files]#
7.同理,我們在文件系統中給/data1寫權限,同時復制一份數據庫文件給/data1
[root@localhost ~]# chmod 777 /data1 [root@localhost ~]# cp -a /data/* /data1/ [root@localhost ~]#
8.將客戶機的mysql數據庫目錄切換至/mydata1,並啟動服務
[root@bogon support-files]# vim /etc/my.cnf datadir=/mydata1 [root@bogon support-files]# ./mysql.server restart cat: /mydata1/bogon.pid: Permission denied ERROR! MySQL server process # is not running! Starting MySQL SUCCESS!
9.實踐,創建一個數據庫
MariaDB [(none)]> create database nfs1; Query OK, 1 row affected (0.04 sec) 查看服務器端/data1目錄
LAMP項目實踐+博客作業:
(1) 使用samba和NFS分別共享/data/application/web,部署LAMP,並在上述目錄中提供wordpress應用;
(2) 使用samba客戶端和NFS客戶端分別掛載samba server和NFS server共享的目錄至/var/www/html;
(3) 分別通過兩臺服務器驗正wordpress是否可被訪問、能否正常發文章和上傳圖片;
共享/data2/app/web,將wordpress解壓到當前目錄
[apache] comment = LAMP shared directory path = /data2/app/web write list = root @apache //apache 用戶用於一會訪問使用 create mode =0644 directory mode = 0744 public = no browseable = yes [root@localhost ~]# ls /data2/app/web/ index.html index.php word wordpress-4.2-zh_CN.tar.gz
2.在客戶機上創建虛擬主機並配置,此次使用的php-fpm,做動態資源訪問
<VirtualHost 172.16.0.147:80> ServerName www.wangchao.com DocumentRoot "/mnt/vhost1/" ProxyRequests OFF ProxyPassMatch ^(/.*\.php)$ fcgi://127.0.0.1:9000/mnt/php-fpm/$1 <Directory "/mnt/vhost1"> Options None AllowOverride None Require all granted </Directory> </VirtualHost>
3.從上可以看出,動態資源訪問路徑在客戶機的 /mnt/php-fpm下所以,我們將服務器的共享目錄,掛載到/mnt/php-fpm/下,
[root@bogon mysql]# mount -t cifs -o username=apache //172.16.0.149/apache /mnt/php-fpm/ Password for apache@//172.16.0.149/apache: ***
4.啟動http和php-fpm服務
使用網頁測試
可以看出wordpress是可以訪問的,同理
我們設置nfs服務器
設置/etc/exports
/data2/app/web 172.16.0.147(rw)
在客戶機上掛載
[root@bogon ~]# mount -t nfs 172.16.0.149:/data2/app/web /mnt/php-fpm/ [root@bogon ~]# ls /mnt/php-fpm/ admin index.html index.php phpMyAdmin-3.5.4-all-languages.tar.gz word wordpress-4.2-zh_CN.tar.gz [root@bogon ~]#
打開測試網頁
Samba和NFS的實現