db01憨募、web02、nfs

拆分?jǐn)?shù)據(jù)庫至獨(dú)立服務(wù)器

| 為什么要進(jìn)行數(shù)據(jù)庫的拆分 |

由于單臺服務(wù)器運(yùn)行LNMP架構(gòu)會導(dǎo)致網(wǎng)站訪問緩慢袁辈,當(dāng)內(nèi)存被占滿時菜谣,很容易導(dǎo)致系統(tǒng)出現(xiàn)oom從而kill屌MySQL數(shù)據(jù)庫,所以要將web和數(shù)據(jù)庫進(jìn)行獨(dú)立部署晚缩。


| 數(shù)據(jù)庫拆分后解決了什么問題 |

1.緩解web網(wǎng)站的壓力
2.增強(qiáng)數(shù)據(jù)庫讀寫性能
3.提高用戶訪問速度


| 數(shù)據(jù)庫拆分架構(gòu)演變過程尾膊,如下圖所示 |


| 數(shù)據(jù)庫拆分 |

主機(jī)名稱 應(yīng)用環(huán)境 外網(wǎng)地址 內(nèi)網(wǎng)地址
web01 nginx+php 10.0.0.7 172.16.1.7
db01 mysql 10.0.0.51 172.16.1.51

| 數(shù)據(jù)庫拆分 |

1.web01網(wǎng)站服務(wù)器操作如下

1)備份web01上的數(shù)據(jù)庫,lzy123.com是數(shù)據(jù)庫密碼

[root@web01 ~]# mysqldump -uroot -p'lzy123.com' -A > mysql-all.sql

2)將web01上備份的數(shù)據(jù)庫拷貝至db01服務(wù)器上

[root@web01 ~]# scp mysql-all.sql  root@172.16.1.51:/tmp

2.db01數(shù)據(jù)庫服務(wù)器操作如下

1)將web01服務(wù)器上推送的數(shù)據(jù)庫備份文件恢復(fù)至db01服務(wù)器新數(shù)據(jù)庫中

[root@db01 ~]# yum install mariadb mariadb-server -y
[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb
[root@db01 ~]# mysql -uroot -p'lzy123.com' < /tmp/mysql-all.sql

2)數(shù)據(jù)庫導(dǎo)入完成后荞彼,重啟數(shù)據(jù)庫冈敛,使用新密碼進(jìn)行登錄,并檢查數(shù)據(jù)庫已被導(dǎo)入成功

[root@db01 ~]# systemctl restart mariadb
[root@db01 ~]# mysql -uroot -plzy123.com
mysql> show databases;

3)在新數(shù)據(jù)庫上授權(quán),允許所有網(wǎng)段,通過all賬戶連接并操作該數(shù)據(jù)庫

#授權(quán)所有權(quán)限   grant all
#授權(quán)所有庫所有表 *.* 
#將授權(quán)賦予給哪個用戶鸣皂,這個用戶只能通過哪個網(wǎng)段過來(%所有) 'all'@'%'
#授權(quán)該用戶登錄的密碼 identified by

mysql> grant all on  *.* to lzy@'%' identified by 'lzy123.com';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

3.web01修改代碼連接新數(shù)據(jù)庫環(huán)境

1)修改Wordpress產(chǎn)品代碼連接數(shù)據(jù)庫的配置文件

[root@web01 ~]# vim /code/wordpress/wp-config.php
# 數(shù)據(jù)庫名稱
define('DB_NAME', 'wordpress');
# 數(shù)據(jù)庫用戶
define('DB_USER', 'lzy');
# 數(shù)據(jù)庫密碼
define('DB_PASSWORD', 'lzy123.com');
# 數(shù)據(jù)庫地址
define('DB_HOST', '172.16.1.51');

2)修改wecenter產(chǎn)品代碼連接數(shù)據(jù)庫的配置文件

[root@web01 zh]#  grep -iR "lzy123.com"|grep -v cache
system/config/database.php:  'password' => 'lzy123.com',
[root@web01 zh]# vim /code/zh/system/config/database.php
'host' => '172.16.1.51',
'username' => 'lzy',
'password' => 'lzy123.com',
'dbname' => 'zh',

3)最后訪問網(wǎng)站抓谴,成功打開,至此拆分?jǐn)?shù)據(jù)庫完成

擴(kuò)展多臺相同的Web服務(wù)器

| 為什么要擴(kuò)展多臺web節(jié)點(diǎn) |

單臺web服務(wù)器能抗住的訪問量是有限的寞缝,配置多臺web服務(wù)器能提升更高的訪問速度癌压。


| 擴(kuò)展多臺web解決了什么問題 |

1.單臺web節(jié)點(diǎn)如果故障,會導(dǎo)致業(yè)務(wù)down機(jī)

2.多臺web節(jié)點(diǎn)能保證業(yè)務(wù)的持續(xù)穩(wěn)定荆陆,擴(kuò)展性高

3.多臺web節(jié)點(diǎn)能有效的提升用戶訪問網(wǎng)站的速度

3.多臺web節(jié)點(diǎn)技術(shù)架構(gòu)組成滩届,如下圖所示

[圖片上傳失敗...(image-16c1d9-1616497425791)]

| 擴(kuò)展web環(huán)境 |

主機(jī)名稱 應(yīng)用環(huán)境 外網(wǎng)地址 內(nèi)網(wǎng)地址
web01 nginx+php 10.0.0.7 172.16.1.7
web02 nginx+php 10.0.0.8 172.16.1.8
db01 mysql 10.0.0.51 172.16.1.51

| 快速擴(kuò)展一臺web節(jié)點(diǎn)詳細(xì)步驟 |

通過web01現(xiàn)有環(huán)境快速的擴(kuò)展一臺web02的服務(wù)器,數(shù)據(jù)庫統(tǒng)一使用db01

1)創(chuàng)建www用戶

[root@web02 ~]# groupadd -g666 www
[root@web02 ~]# useradd -u666 -g666 www

2)安裝LNP

[root@web02 ~]# scp -rp root@172.16.1.7:/etc/yum.repos.d/* /etc/yum.repos.d/
[root@web02 ~]# scp -rp root@172.16.1.7:/etc/pki/rpm-gpg/* /etc/pki/rpm-gpg/

[root@web02 ~]# yum install nginx -y
[root@web02 ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb

3)將web01的nginx配置文件導(dǎo)入到web02

[root@web02 ~]# scp -rp root@172.16.1.7:/etc/nginx /etc/

4)將web01的php配置文件導(dǎo)入到web02

[root@web02 ~]# scp -rp root@172.16.1.7:/etc/php-fpm.d /etc/

5)將web01的產(chǎn)品代碼打包傳輸?shù)絯eb02服務(wù)器上,在web01上線進(jìn)行打包操作

[root@web01 ~]# tar czf code.tar.gz /code
[root@web01 ~]# scp code.tar.gz root@172.16.1.8:/tmp

#在web02服務(wù)器上進(jìn)行解壓
[root@web02 ~]# tar xf /tmp/code.tar.gz -C /

6)最后啟動nginx與php-fpm,并加入開機(jī)自啟

[root@web02 ~]# systemctl start nginx php-fpm 
[root@web02 ~]# systemctl enable nginx php-fpm

拆分靜態(tài)資源至獨(dú)立服務(wù)器

| 為什么拆分靜態(tài)資源至獨(dú)立存儲服務(wù)器 |

當(dāng)后端的web節(jié)點(diǎn)出現(xiàn)多臺時孙技,會導(dǎo)致用戶上傳的圖片瀑罗、視頻附件等內(nèi)容僅上傳至一臺web服務(wù)器,那么其他的web服務(wù)器則無法訪問到該圖片券犁。


| 新增一臺nfs存儲解決了什么問題 |

1.保證了多臺web節(jié)點(diǎn)靜態(tài)資源一致。

2.有效節(jié)省多臺web節(jié)點(diǎn)的存儲空間汹碱。

3.統(tǒng)一管理靜態(tài)資源粘衬,便于后期推送至CDN進(jìn)行靜態(tài)資源加速


| 多臺web節(jié)點(diǎn)技術(shù)架構(gòu)組成,如下圖所示 |

| 環(huán)境準(zhǔn)備 |

主機(jī)名稱 應(yīng)用環(huán)境 外網(wǎng)地址 內(nèi)網(wǎng)地址
web01 nginx+php 10.0.0.7 172.16.1.7
web02 nginx+php 10.0.0.8 172.16.1.8
nfs nfs 10.0.0.31 172.16.1.31
db01 mysql 10.0.0.51 172.16.1.51

| nfs服務(wù)端咳促,操作步驟如下 |

1) 安裝并配置nfs

[root@nfs ~]# yum install nfs-utils -y
[root@nfs ~]# cat /etc/exports
/data/blog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data/zh 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

2) 創(chuàng)建共享目錄稚新,并進(jìn)行授權(quán)

[root@nfs01 ~]# mkdir /data/{blog,zh} -p
[root@nfs01 ~]# chown -R www.www /data/

3) 啟動nfs服務(wù),并加入開機(jī)自啟

[root@nfs01 ~]# systemctl restart nfs-server

| web01端操作步驟如下 |

1) web01節(jié)點(diǎn)安裝nfs跪腹,然后使用showmount查看服務(wù)端共享的資源

[root@web01 ~]# yum install nfs-utils -y
[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data/zh   172.16.1.0/24
/data/blog 172.16.1.0/24

2) 如何查找Wordpress靜態(tài)資源存放的位置

瀏覽器->右鍵->檢查->Network->選擇左上角的Select按鈕->點(diǎn)擊對應(yīng)的圖片褂删,然后能獲取到對應(yīng)的url地址,如下
# http://blog.oldboy.com/wp-content/uploads/2018/11/timg.gif

3) 備份web01服務(wù)器上Wordpress的靜態(tài)資源冲茸,因?yàn)樵摲?wù)器上的資源資源最全

[root@web01 ~]# cd /code/wordpress/wp-content
[root@web01 wp-content]# cp uploads/ uploads_bak/

4) web01客戶端執(zhí)行掛載操作

[root@web01 wp-content]# mount -t nfs 172.16.1.31:/data/blog /code/wordpress/wp-content/uploads/

#恢復(fù)對應(yīng)的數(shù)據(jù)
[root@web01 wp-content]# cp -rp uploads_bak/* uploads/

5) 將掛載信息加入開機(jī)自啟

[root@web01 wp-content]# tail -1 /etc/fstab 
172.16.1.31:/data/blog  /code/wordpress/wp-content/uploads nfs defaults 0 0
[root@web01 wp-content]# mount -a

| web02端操作步驟如下 |

1) web02客戶端直接掛載nfs即可

[root@web02 ~]# mount -t nfs 172.16.1.31:/data/blog /code/wordpress/wp-content/uploads/

2) 將掛載信息加入開機(jī)自啟

[root@web02 ~]# tail -1 /etc/fstab 
172.16.1.31:/data/blog  /code/wordpress/wp-content/uploads nfs defaults 0 0
[root@web02 ~]# mount –a
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末屯阀,一起剝皮案震驚了整個濱河市缅帘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌难衰,老刑警劉巖钦无,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盖袭,居然都是意外死亡失暂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門鳄虱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弟塞,“玉大人,你說我怎么就攤上這事拙已【黾牵” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵悠栓,是天一觀的道長霉涨。 經(jīng)常有香客問我,道長惭适,這世上最難降的妖魔是什么笙瑟? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮癞志,結(jié)果婚禮上往枷,老公的妹妹穿的比我還像新娘。我一直安慰自己凄杯,他們只是感情好错洁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著戒突,像睡著了一般屯碴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膊存,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天导而,我揣著相機(jī)與錄音,去河邊找鬼隔崎。 笑死今艺,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爵卒。 我是一名探鬼主播虚缎,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼钓株!你這毒婦竟也來了实牡?” 一聲冷哼從身側(cè)響起陌僵,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎铲掐,沒想到半個月后拾弃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摆霉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了奔坟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片携栋。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖咳秉,靈堂內(nèi)的尸體忽然破棺而出婉支,到底是詐尸還是另有隱情,我是刑警寧澤澜建,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布向挖,位于F島的核電站,受9級特大地震影響炕舵,放射性物質(zhì)發(fā)生泄漏何之。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一咽筋、第九天 我趴在偏房一處隱蔽的房頂上張望溶推。 院中可真熱鬧,春花似錦奸攻、人聲如沸蒜危。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辐赞。三九已至,卻和暖如春硝训,著一層夾襖步出監(jiān)牢的瞬間响委,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工捎迫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晃酒,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓窄绒,卻偏偏與公主長得像贝次,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子彰导,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 代號C 第一章 LNMP架構(gòu)概述 1.1 什么是LNMP LNMP 是一套技術(shù)的組合蛔翅, L=Linux敲茄、 N=Ng...
    小鎮(zhèn)青年Jack閱讀 260評論 0 1
  • 第一章 LNMP架構(gòu)概述 1.1 什么是LNMP LNMP 是一套技術(shù)的組合, L=Linux山析、 N=Nginx堰燎、...
    丶Daniel閱讀 164評論 0 0
  • 1.LNMP是指一組通常一起使用來運(yùn)行動態(tài)網(wǎng)站或者服務(wù)器的自由軟件名稱首字母縮寫。L指Linux笋轨,N指Nginx秆剪,...
    吃可愛長大鴨閱讀 157評論 0 1
  • 代號C-1 第一章 LNMP架構(gòu)概述 1.1 什么是LNMP LNMP 是一套技術(shù)的組合, L=Linux爵政、 N=...
    小鎮(zhèn)青年Jack閱讀 97評論 0 0
  • 1 什么是LNMP LNMP 是一套技術(shù)的組合仅讽, L=Linux、 N=Nginx钾挟、 M=MySQL洁灵、 P=PHP...
    吖吖堅閱讀 263評論 0 1