日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NFS为lamp提供共享存储实践

發布時間:2025/6/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NFS为lamp提供共享存储实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文旨在實現NFS為lamp環境web站點提供共享存儲。


1.實驗需求


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

2nfs client掛載nfs server導出的文件系統,至/var/www/html;

3)客戶端1(lamp)部署wordpress,并讓其正常訪問,要確保正常發文章,上傳圖片。

4)客戶端2(lamp),掛載nfs server導出的文件系統至/var/www/html,驗證其wordpress

否可被訪問,要確保能正常發文章,上傳圖片。

5nfs server 導出/mydata/目錄;

6nfs client掛載/mydata/至本地的/mydata目錄,mysqldmariadb服務的數據目錄設置為/mydata, 要求服務能正常啟動,且可正常存儲數據。


2.服務器規劃


服務器版本角色主機名IP地址
centos7.2x86_64

web服務器01apache+php

nfs客戶端
web01172.16.52.51
centos7.2x86_64

web服務器02apache+php

nfs客戶端
web02172.16.52.52
centos7.2x86_64

mysqld數據庫服務

nfs客戶端
db172.16.52.53
centos7.2x86_64

nfs服務端

nfs172.16.52.54


3.實驗拓撲




4.部署NFS服務端及nfs客戶端


4.1 配置nfs服務端

?(1)安裝nfs軟件

[root@nfs?~]#?yum?-y?install?nfs-utils [root@nfs?~]#?rpm?-qa?nfs-utils nfs-utils-1.3.0-0.21.el7.x86_64

?

?(2)啟動nfs服務

? ? 開機自啟動nfs服務:

[root@nfs?~]#?systemctl?enable?rpcbind.service [root@nfs?~]#?systemctl?enable?nfs-server.service

?

?啟動rpcbindnfs服務:

?注意要先啟動rpcbind

[root@nfs?~]#?systemctl?start?rpcbind.service [root@nfs?~]#?systemctl?start?nfs.service

?

? 查看nfs狀態:

[root@nfs?~]#?rpcinfo?-p

?

?(3)配置nfs服務

[root@nfs?~]#?cat?/etc/exports /data/application/web?172.16.0.0/16(rw,sync,anonuid=888,anongid=888) /mydata???172.16.0.0/16(rw,sync,anonuid=3306,anongid=3306)

?

? 重新導出:

[root@nfs?~]#?exportfs?-arv exporting?172.16.0.0/16:/data exporting?172.16.0.0/16:/data/application/web

?

?為nfs共享文件創建授權用戶(uid):

?這里我們不使用默認的nfsnobody用戶

[root@nfs?~]#?groupadd?-g?888?apache [root@nfs?~]#?useradd?-u?888?-g?apache?-s/sbin/nologin?-M?apache [root@nfs?~]#?id?apache uid=888(apache)?gid=888(apache)?groups=888(apache) [root@nfs?~]#?chown?apache.apache/data/application/web [root@nfs?~]#?ls?-ld?/data/application/web/ drwxr-xr-x?2?apache?apache?6?Jul?20?04:27/data/application/web/[root@nfs?~]#?groupadd?-g?3306?mysql [root@nfs?~]#?useradd?-u?3306?-g?mysql?-s/sbin/nologin?-M?mysql [root@nfs?~]#?id?mysql uid=3306(mysql)?gid=3306(mysql)?groups=3306(mysql) [root@nfs?~]#?chown?mysql.mysql?/data [root@nfs?~]#?ls?-ld?/data drwxr-xr-x?4?mysql?mysql?35?Jul?20?04:27?/data


4.2 配置nfs客戶端

?注:3nfs客戶端配置都一樣


?安裝軟件包:

[root@db?~]#?yum?-y?install?nfs-utils

?

?啟動rpcbind

?客戶端只用啟動rpcbind即可。

[root@db?~]#?systemctl?start?rpcbind


5.部署lamp環境


說明:本次lamp環境采用rpm包安裝,數據庫分離

web01 web02 配置一樣。

為了方便測試:web01域名blog.magedu.comweb02域名blog02.magedu.com

5.1 安裝軟件

[root@web01?~]#?yum?-y?install?httpd?php?php-mysql

?

5.2 配置虛擬主機

[root@web01?conf.d]#?cat?blog.conf <VirtualHost?*:80>ServerNameblog.magedu.comDocumentRoot"/var/www/html"CustomLog"/var/log/httpd/blog/access_log"?combinedErrorLog??"/var/log/httpd/blog/error_log"??<Directory"/var/www/html">OptionsNoneAllowOverrideNoneRequireall?granted</Directory> </VirtualHost>

5.3 php訪問測試



6. 部署mariadb數據庫服務


?mariadb采用通用二進制安裝

[root@db?soft]#?ln?-sv?mariadb-5.5.46-linux-x86_64?mariadb [root@db?soft]#ls mariadb??mariadb-5.5.46-linux-x86_64


6.1 創建mysql用戶

[root@db?soft]#?groupadd?-g?3306?mysql [root@db?soft]#?useradd?-u?3306?-g?mysql?mysql [root@db?soft]#?id?mysql uid=3306(mysql)?gid=3306(mysql)?groups=3306(mysql)

6.2 創建數據目錄并授權

[root@db?soft]#?mkdir?/mydata [root@db?soft]#?chown?-R?mysql.mysql?/mydata [root@db?soft]#?ls?-ld?/mydata drwxr-xr-x?2?mysql?mysql?6?Jul?20?07:27?/mydata

?

6.3 初始化數據庫

[root@db?mariadb]#?chown?-R?root.mysql?/data/soft/mariadb/ [root@db?mariadb]#?cd?/data/soft/mariadb [root@db?mariadb]#?scripts/mysql_install_db--user=mysql?--datadir=/mydata?--basedir=/data/soft/mariadb

?

6.4 配置/etc/my.cnf

#?cp?support-files/my-large.cnf?/etc/my.cnf vim?/etc/my.cnf [mysqld] port?=?3306 basedir?=?/data/soft/mariadb datadir?=?/data/mydata innodb_file_per_table?=?1?#讓innodb表每個表一個表空間文件。


6.5 配置mysqld啟動腳本

?復制mysql啟動腳本到/etc/init.d/mysqld

[root@db?~]#?cp?/data/soft/mariadb/support-files/mysql.server/etc/init.d/mysqld [root@db?~]#?chmod?755?/etc/init.d/mysqld [root@db?~]#?sed?-i's#/usr/local/mysql#/data/soft/mariadb#g'?/etc/init.d/mysqld [root@db?~]#?chkconfig?--add?mysqld

?

?修改PATH環境變量:

[root@db?mariadb]#?cat?/etc/profile.d/mysql.sh export?PATH=/data/soft/mariadb/bin:$PATH

?

?配置庫文件搜索路徑:

[root@db?mariadb]#?echo"/data/soft/mariadb/lib"?>?/etc/ld.so.conf.d/mysqld.conf [root@db?mariadb]#?ldconfig

6.6 啟動mysqld服務

[root@db?/]#?service?mysqld?start Starting?MySQL..?SUCCESS! [root@db?/]#?lsof?-i:3306 COMMAND?PID??USER???FD??TYPE?DEVICE?SIZE/OFF?NODE?NAME mysqld??7668mysql???15u??IPv4?23521??????0t0??TCP?*:mysql?(LISTEN)

?

6.7 測試php與數據庫的連接

?注:事先創建好相關的庫和用戶

?在web服務器站點下創建mysql.php 文件

[root@web01?html]#?cat?mysql.php <?php$conn=?mysql_connect('172.16.52.53','wordpress','123456');if($conn)echo'connect?172.16.52.53?is?OK';elseecho'failure'; ?>


?


6.8 把nfs服務端的/mydata/目錄掛載至本地的/mydata

?

[root@db?~]#?showmount?-e?172.16.52.54 Export?list?for?172.16.52.54: /mydata???????????????172.16.0.0/16 /data/application/web?172.16.0.0/16

?

[root@db?~]#?ls?-ld?/mydata/ drwxr-xr-x?6?mysql?mysql?4096?Jul?21?06:05?/mydata/

?

[root@nfs?/]#?ls?-ld?/mydata drwxr-xr-x?6?mysql?mysql?4096?Jul?21?06:05?/mydata

?

?把本地mysql數據目錄/mydata里面的文件復制到nfs服務端的/mydata目錄里

[root@db?~]#?scp?-r?/mydata/*root@172.16.52.54:/mydata

?

?重新對nfs服務端/mydata/下面的文件授權:

chown?-R?mysql.mysql?/mydata

?

?掛載:

mount?-t?nfs?172.16.52.54:/mydata?/mydata

?重啟mysqld測試:

[root@db?~]#?service?mysqld?restart Shutting?down?MySQL.?SUCCESS! Starting?MySQL..?SUCCESS! ok,沒有問題。


7.部署web服務器站點目錄


7.1 LAMP 01部署wordpress站點

?站點目錄嚴格授權:

[root@web01?html]#?chown?-R?root.root/var/www/html/ [root@web01?html]#?find?/var/www/html/?-type?f|xargs?chmod?644 [root@web01?html]#?find?/var/www/html/?-type?d|xargs?chmod?755 [root@web01?html]#?chown?-R?apache.apache/var/www/html/wordpress/wp-content

?

?在博客里發一篇文章,插入一張圖片。

?


7.2 把nfs服務端的/data/application/web 掛載至web01本地的/var/www/html

1)把/var/www/html下面的文件復制到/data/application/web目錄下面

?[root@web01?~]#?scp?-rp?/var/www/html/*root@172.16.52.54:/data/application/web/

?

2)授權

?[root@nfs~]#?chown?-R?apache.apache?/data/application/web/wordpress/wp-content/

????????

3)掛載

[root@web01?~]#?showmount?-e?172.16.52.54 Export?list?for?172.16.52.54: /mydata???????????????172.16.0.0/16 /data/application/web?172.16.0.0/16?[root@web01?wordpress]#?mount?-t?nfs?172.16.52.54:/data/application/web/var/www/html

?

?(4)讀寫測試,插入圖片

?


7.3 把nfs服務端的/data/application/web 掛載至web02本地的/var/www/html

1)掛載

[root@web02?~]#?mount?-t?nfs172.16.52.54:/data/application/web?/var/www/html

2)訪問blog02.magedu.com/wordpress/index.php


?訪問沒有問題


?測試插入圖片:



8. 總結


本次實驗實現了web站點數據的共享,一定程度上實現session共享和負載均衡的功能。









轉載于:https://blog.51cto.com/zhangbei/1828602

總結

以上是生活随笔為你收集整理的NFS为lamp提供共享存储实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。