Samba和NFS的實現

MariaDB項目實踐
            (1) 使用samba和NFS分別共享/data目錄;
            (2) 讓samba客戶端和NFS客戶端分別掛載samba服務器上共享的/data/至本地的/mydata目錄;本地的mysqld或mariadb服務的數據目錄設置爲/mydata,要求服務能正常啓動,且可正常存儲數據;php

  1. samba共享/data目錄 (本機ip172.16.0.149)
    html

    編輯/etc/samba/smb.conf,寫入配置段
    mysql


  2. [global]
            workgroup = WORKGROUP
            security = user
    
            passdb backend = tdbsam:/etc/samba/tdsamba.db  //定義安全帳戶管理,此次選的tdbsam,而且定義數據庫絕對路徑
    
            printing = cups
            printcap name = cups
            load printers = yes
            cups options = raw
  3. [data]
            comment = Mariadb shared directory  // 註釋信息
            path = /data  //共享目錄的絕對路徑
            write list = root @wangfugui +mysql  //定義合法用戶,並指定是否有寫權限
            create mode = 0644 //建立文件的默認權限
            directory mode = 0744 //建立目錄的默認權限
            public = no //不容許共享目錄公開給全部用戶訪問
            browseable = no //不容許共享目錄在訪問頁面被看到

4.給數據庫中,添加用戶,密碼能夠本身設定web

[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.在另外一臺主機上查看共享目錄sql

[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,並讓數據庫可使用apache

    a.修改客戶機/etc/my.cnfvim

datadir = /mydata

    b.在服務器端,給/data修改權限(爲了保證,文件系統能讓客戶機的mysql用戶有寫權限)安全

[root@localhost ~]# chmod 777 /data

    c.給/data複製數據庫內容(須要保留權限)bash

[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

圖片.png

在mysql內建立一個數據庫

MariaDB [(none)]> create database ceshi2;
Query OK, 1 row affected (0.07 sec)

能夠在服務器端/data/下。看到相應目錄

圖片.png

二:NFS實踐

  1. 在服務器端建立/data1目錄

    修改配置文件/etc/exports


  2. /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目錄

圖片.png


    LAMP項目實踐+博客做業:
            (1) 使用samba和NFS分別共享/data/application/web,部署LAMP,並在上述目錄中提供wordpress應用;
            (2) 使用samba客戶端和NFS客戶端分別掛載samba server和NFS server共享的目錄至/var/www/html;
            (3) 分別經過兩臺服務器驗正wordpress是否可被訪問、可否正常發文章和上傳圖片;

  1. 共享/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服務

使用網頁測試

圖片.png

能夠看出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 ~]#

打開測試網頁

圖片.png

相關文章
相關標籤/搜索