很多站長(zhǎng)都喜歡做站群,那么利用Drupal是是相當(dāng)不錯(cuò)的了,Drupal一套程序可以支持多站點(diǎn),同在我們來(lái)講講Drupal多站點(diǎn)如何共享一個(gè)數(shù)據(jù)庫(kù)的配置方法。
Drupal本身對(duì)多站點(diǎn)有良好的支持,詳細(xì)規(guī)則可以查看drupal的settings.php獲得詳細(xì)的幫助.
這篇文章要介紹的,是多站點(diǎn)如何共享數(shù)據(jù)表.考慮以下應(yīng)用場(chǎng)景:
有個(gè)網(wǎng)站是example.com,同時(shí)這個(gè)站點(diǎn)要啟用一個(gè)二級(jí)域名blog.example.com.
Blog與主站點(diǎn)用戶數(shù)據(jù)共享,這種情況下如何配置?
通過(guò)一番調(diào)研與實(shí)驗(yàn),在drupal官網(wǎng)上找到解決方案.鏈接如下. 英文不太好的同學(xué),參考這里的步驟就行了.https://drupal.org/node/2622https://drupal.org/node/22267http://www.im87.net/topics/batch-change-mysql-table-prefix/準(zhǔn)備:
兩個(gè)安裝好Drupal站點(diǎn)的數(shù)據(jù)庫(kù),如果兩個(gè)數(shù)據(jù)庫(kù)沒(méi)有表前綴,參考下面的文章進(jìn)行修改.
假設(shè)一個(gè)表前綴是main_,另外一個(gè)是blog_
你需要了解如果批量更改數(shù)據(jù)庫(kù)的表前綴.參考:
將上面準(zhǔn)備好的兩個(gè)數(shù)據(jù)庫(kù),合并為一個(gè)數(shù)據(jù)庫(kù).
域名指向同一個(gè)路徑Drupal安裝路徑
使用Drupal的多站點(diǎn)機(jī)制,兩個(gè)站點(diǎn)分別使用不同的settings.php文件.(關(guān)于這一點(diǎn),不是本文重點(diǎn),請(qǐng)自行調(diào)研.)
目錄結(jié)構(gòu)如下:
sitesexample.comsettings.php
sitesblog.example.comsettings.php
做完以上步驟,最好修改settings.php文件的數(shù)據(jù)庫(kù)配置,分別測(cè)試,確認(rèn)合并后的數(shù)據(jù)庫(kù)可以正常工作.
配置的技巧,在于settings.php里面$databases變量.
//sitesexample.comsettings.php如下
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'drupal',
'username' => 'root',
'password' => '',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => 'main_',
),
),
);
//sitesblog.example.comsettings.php配置如下
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'drupal',
'username' => 'root',
'password' => '',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => array(
'default' => 'blog_',
'users' => 'main_',
'sessions' => 'main_',
'role' => 'main_',
'authmap' => 'main_',
),
),
),
);
更多信息請(qǐng)查看IT技術(shù)專欄