背景知識
PolarDB資料庫
PolarDB是阿裡雲自研的下一代關系型雲資料庫,有三個獨立的引擎,分别可以100%相容MySQL、100%相容PostgreSQL、高度相容Oracle文法,存儲容量最高可達100TB,單庫最多可擴充到16個節點,适用于企業多樣化的資料庫應用場景。
PolarDB采用存儲和計算分離的架構,所有計算節點共享一份資料,提供分鐘級的配置升降級、秒級的故障恢複、全局資料一緻性和免費的資料備份容災服務。PolarDB既融合了商業資料庫穩定可靠、高性能、可擴充的特征,又具有開源雲資料庫簡單開放、自我疊代的優勢,例如PolarDB MySQL性能最高可以提升至MySQL的6倍,而成本隻有商用資料庫的1/10。
- 1.叢集架構,計算與存儲分離:PolarDB采用多節點叢集的架構,叢集中有一個Writer節點(主節點)和多個Reader節點(讀節點),各節點通過分布式檔案系統(PolarFileSystem)共享底層的存儲(PolarStore)。
- 2.讀寫分離:當應用程式使用叢集位址時,PolarDB MySQL/PostgreSQL通過内部的代理層(Proxy)對外提供服務,應用程式的請求都先經過代理,然後才通路到資料庫節點。代理層不僅可以做安全認證和保護,還可以解析SQL,把寫操作(例如事務、UPDATE、INSERT、DELETE、DDL等)發送到主節點,把讀操作(例如SELECT)均衡地分發到多個隻讀節點,實作自動的讀寫分離。對于應用程式來說,就像使用一個單點的MySQL資料庫一樣簡單。内部的代理層(Proxy)後續将支援PolarDB相容Oracle文法引擎。
一、建立PolarDB資料庫賬号
1.在阿裡雲控制台首頁左側導航欄,依次單擊産品與服務> 雲資料庫PolarDB ,進入雲資料庫PolarDB管理控制台

2.單擊左側叢集清單,然後選擇雲産品資源提供的地域,例如:華東2(上海)
3.建立資料庫賬号
a.在叢集清單頁面,單擊叢集ID,進入叢集詳情界面。
b.單擊左側導航欄配置與管理>賬号管理。
c.單擊左上方建立賬号。
d.參考說明配置賬号資訊,然後單擊确定。
- 資料庫賬号:輸入資料庫賬号名稱,例如:test_user 。
- 賬号類型:此處選擇普通賬号。
- 密碼:設定賬号密碼,例如:Password1213。
- 确認密碼:再次輸入密碼。
4.建立資料庫
a.在執行個體詳情頁,單擊左側導航欄的資料庫管理,然後單擊建立資料庫。
b.參考說明配置資料庫資訊,然後單擊建立。
- 資料庫(DB)名稱:輸入資料庫名稱,例如:pbootcms 。
- 支援字元集:預設設為utf8mb4。
- 授權賬号:選擇上一步建立的資料庫賬号test_user。
- 賬号類型:預設設定為讀寫。
- 備注說明:非必填。用于備注該資料庫的相關資訊,便于後續資料庫管理,最多支援256個字元。
5.設定資料庫白名單
連接配接資料庫需要設定資料庫白名單,點選 [叢集白名單],然後點選 [設定] 設定資料庫叢集白名單。
在白名單界面将預設的白名單位址127.0.0.1更改為 0.0.0.0/0,然後點選 [确定] 使白名單位址生效。
二、安裝LAMP環境
LAMP是指運作在Linux下的Apache、MySQL和PHP的環境,參考以下操作在雲伺服器上安裝開發環境
1.在ECS伺服器上,執行以下指令安裝Apache服務及其擴充包
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
傳回類似如下圖結果則表示安裝成功。
2.PbootCMS是使用PHP語言開發的CMS系統,執行以下指令,安裝PHP環境
yum -y install php php-mysql gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap
3.執行以下指令下載下傳并安裝MySQL
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
4.執行以下指令啟動MySQL資料庫
systemctl start mysqld
三、搭建門戶網站
1.在ECS伺服器上,執行以下指令,安裝Git
yum -y install git
2.在ECS伺服器上,執行以下指令下載下傳PbootCMS源碼檔案
cd ~ && git clone https://gitee.com/hnaoyun/PbootCMS.git
3.執行以下指令将安裝包拷貝到Apache的wwwroot目錄下
cp -r PbootCMS/* /var/www/html/
4.執行以下指令修改站點根目錄檔案權限
chmod -R a+w /var/www/html
5.向資料庫中導入CMS的初始資料
a.執行以下指令初始化資料庫pbootcms的表結構和資料
sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -h資料庫連接配接位址 -utest_user -pPassword1213 -Dpbootcms < $sql_file
說明: 在執行指令前,請修改一下三個參數
資料庫連接配接位址參見叢集詳情頁面下方連結位址闆塊
test_user為建立的資料庫賬号
Password1213為建立的資料庫密碼
sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -hpc-uf62775v9xwjt9e3q.mysql.polardb.rds.aliyuncs.com -utest_user -pPassword1213 -Dpbootcms < $sql_file
b.執行以下指令,修改CMS系統資料庫配置
說明: 在執行指令前,請根據參數說明替換您的資料庫配置
cat > /var/www/html/config/database.php << EOF
<?php
return array(
'database' => array(
'type' => 'mysqli', // 資料庫連接配接驅動類型: mysqli,sqlite,pdo_mysql,pdo_sqlite
'host' => '資料庫連接配接位址', // PolarDB資料庫連結位址
'user' => 'test_user', // PolarDB資料庫的使用者名
'passwd' => 'Password1213', // PolarDB資料庫的密碼
'port' => '3306', // 資料庫端口
'dbname' => 'pbootcms' //資料庫名稱
)
);
EOF
cat > /var/www/html/config/database.php << EOF
<?php
return array(
'database' => array(
'type' => 'mysqli', // 資料庫連接配接驅動類型: mysqli,sqlite,pdo_mysql,pdo_sqlite
'host' => 'pc-uf62775v9xwjt9e3q.mysql.polardb.rds.aliyuncs.com', // PolarDB資料庫連結位址
'user' => 'test_user', // PolarDB資料庫的使用者名
'passwd' => 'Password1213', // PolarDB資料庫的密碼
'port' => '3306', // 資料庫端口
'dbname' => 'pbootcms' //資料庫名稱
)
);
EOF
6.傳回ECS控制台,在ECS執行個體清單頁面,單擊已建立的ECS執行個體ID連結進入ECS詳情頁
7.在左側導航欄,單擊本執行個體安全組,然後單擊安全組的ID連結檢視安全組配置
確定安全組開放了80端口通路,否則無法通路已搭建的門戶網站。安全組是一種虛拟防火牆,具備狀态檢測和資料包過濾能力,用于在雲端劃分安全域。通過配置安全組規則,可以控制安全組内一台或多台ECS執行個體的入流量和出流量。
8.通路程式
執行以下指令重新開機 Apache服務
systemctl restart httpd
在浏覽器位址欄輸入雲伺服器的公網IP位址,進入門戶網站首頁。
系統背景預設通路路徑為
http://公網IP位址>/admin.php。預設賬号為admin,密碼為123456。