資安

使用PolarDB和ECS搭建門戶網站

體驗目標
本場景將提供一臺基礎環境為CentOS的ECS(雲服務器)實例和已經創建好的PolarDB數據庫實例。我們將會在這臺服務器上安裝WordPress,幫助您快速搭建自己的雲上博客。
背景知識
PolarDB數據庫簡介
是阿里雲自研的下一代關係型雲數據庫,有三個獨立的引擎,分別可以100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle語法,存儲容量最高可達100TB,單庫最多可擴展到16個節點,適用於企業多樣化的數據庫應用場景。
PolarDB採用存儲和計算分離的架構,所有計算節點共享一份數據,提供分鐘級的配置升降級、秒級的故障恢復、全局數據一致性和免費的數據備份容災服務。PolarDB既融合了商業數據庫穩定可靠、高性能、可擴展的特徵,又具有開源雲數據庫簡單開放、自我迭代的優勢,例如PolarDB MySQL性能最高可以提升至MySQL的6倍,而成本只有商用數據庫的1/10。集群架構,計算與存儲分離。
• 集群架構,計算與存儲分離。
PolarDB採用多節點集群的架構,集群中有一個Writer節點(主節點)和多個Reader節點(讀節點),各節點通過分佈式文件系統(PolarFileSystem)共享底層的存儲(PolarStore)。
• 讀寫分離。
當應用程序使用集群地址時,PolarDB MySQL/PostgreSQL通過內部的代理層(Proxy)對外提供服務,應用程序的請求都先經過代理,然後才訪問到數據庫節點。代理層不僅可以做安全認證和保護,還可以解析SQL,把寫操作(例如事務、UPDATE、INSERT、DELETE、DDL等)發送到主節點,把讀操作(例如SELECT)均衡地分發到多個只讀節點,實現自動的讀寫分離。對於應用程序來說,就像使用一個單點的MySQL數據庫一樣簡單。內部的代理層(Proxy)後續將支持PolarDB兼容Oracle語法引擎。
產品優勢
您可以像使用MySQL、PostgreSQL、Oracle一樣使用PolarDB,此外,PolarDB還有傳統數據庫不具備的優勢:
• 容量大。
最高100TB,您不再需要因為單機容量的天花板而去購買多個實例做分片,由此簡化應用開發,降低運維負擔。
• 高性價比。
PolarDB的計算與存儲分離,每增加一個只讀節點只收取計算資源的費用,而傳統的只讀節點同時包含計算和存儲資源,每增加一個只讀節點需要支付相應的存儲費用。
PolarDB的存儲空間無需手動配置,根據數據量自動伸縮,您只需為實際使用的數據量按小時付費。
為了更好地幫助您降低存儲成本,PolarDB推出了預付費形式的存儲包。當您的數據量較大時,推薦您使用PolarDB存儲包,相比按小時付費,預付費購買存儲包有折扣,購買的容量越大,折扣力度就越大。
• 分鐘級彈性。
存儲與計算分離的架構,配合共享存儲,使得快速升級成為現實。
• 讀一致性。
集群地址利用LSN(Log Sequence Number)確保讀取數據時的全局一致性,避免因為主備延遲引起的不一致。
• 毫秒級延遲(物理複製)。
利用基於Redo的物理複製代替基於Binlog的邏輯複製,提升主備複製的效率和穩定性。即使對大表進行加索引、加字段等DDL操作,也不會造成數據庫的延遲。
• 無鎖備份。
利用存儲層的快照,可以在60秒內完成對2TB數據量大小的數據庫的備份,而且備份過程不會對數據庫加鎖,對應用程序幾乎無影響,全天24小時均可進行備份。
創建PolarDB數據庫賬號

  1. 單擊頁面左側 雲產品資源 > 一鍵複製登錄url 。
  2. 打開瀏覽器隱身窗口(無痕模式),粘貼已複製的url地址前往 RAM用戶登錄 界面,登錄 阿里雲管理控制檯 。
    以Chrome瀏覽器為例,打開新的無痕窗口,登錄 阿里雲管理控制檯 。

    1. 依次單擊更多>打開新的無痕窗口。
b.  在地址欄粘貼登錄url,訪問 RAM用戶 登錄頁面
c.  在登錄用戶名稱處,輸入 子用戶名稱 ,單擊 下一步 。

d.  輸入密碼,單擊 登錄 進入 阿里雲管理控制檯 。
  1. 在 阿里雲控制檯首頁 左側導航欄,依次單擊 產品與服務 > 雲數據庫PolarDB ,進入 雲數據庫PolarDB管理控制檯 。
  2. 單擊左側 集群列表 ,然後選擇雲產品資源提供的地域。例如:華東2(上海)。
  3. 創建數據庫賬號。

    1. 在 集群列表 頁面,單擊 集群ID ,進入 集群詳情界面 。
    2. 單擊左側導航欄 配置與管理 > 賬號管理 。
    3. 單擊左上方 創建賬號 。
    4. 參考說明配置賬號信息,然後單擊 確定 。

• 數據庫賬號:輸入數據庫賬號名稱,例如:test_user 。
• 賬號類型:此處選擇普通賬號。
• 密碼:設置賬號密碼,例如:Password1213。
• 確認密碼:再次輸入密碼。

  1. 創建數據庫。

    1. 在實例詳情頁,單擊左側導航欄的 數據庫管理 ,然後單擊 創建數據庫 。
    2. 參考說明配置數據庫信息,然後單擊 創建 。

• 數據庫(DB)名稱:輸入數據庫名稱,例如:pbootcms 。
• 支持字符集:默認設為utf8mb4。
• 授權賬號:選擇上一步創建的數據庫賬號test_user。
• 賬號類型:默認設置為讀寫。
• 備註說明:非必填。用於備註該數據庫的相關信息,便於後續數據庫管理,最多支持256個字符。

  1. 設置數據庫白名單。
    連接數據庫需要設置數據庫白名單,點擊 [集群白名單],然後點擊 [設置] 設置數據庫集群白名單。

在白名單界面將默認的白名單地址127.0.0.1更改為 0.0.0.0/0,然後點擊 [確定] 使白名單地址生效。

連接ECS服務器

  1. 打開終端工具。
    • Windows:打開命令窗口。

• MAC:打開命令行終端Terminal。
Windows用戶請檢查系統中是否安裝有SSH工具。檢查方法:
在終端中輸入命令 ssh -V 。
ssh -V
如果顯示SSH版本則表示已安裝,如下圖所示。

如果未安裝,請下載安裝 OpenSSH工具。

  1. 在終端中輸入連接命令 ssh [username]@[ipaddress] 。
    您需要將其中的username和ipaddress替換為步驟一中創建的ECS服務器的彈性公網IP。例如:

ssh [email protected]

命令顯示結果如下:

  1. 輸入 yes。
  2. 同意繼續後將會提示輸入登錄密碼。 密碼為已創建的雲服務的ECS的登錄密碼。

登錄成功後會顯示如下信息。

安裝LAMP環境
LAMP是指運行在Linux下的Apache、MySQL和PHP的環境。參考以下操作在雲服務器上安裝開發環境。

  1. 在ECS服務器上,執行以下命令安裝Apache服務及其擴展包。
  2. -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql

返回類似如下圖結果則表示安裝成功。

  1. PbootCMS是使用PHP語言開發的CMS系統。參考以下操作安裝PHP環境。
    執行以下命令,安裝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

  1. 執行以下命令下載並安裝MySQL。
  2. 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

  1. 執行以下命令啟動MySQL數據庫。
  2. start mysqld

搭建門戶網站
在完成環境部署後,參考以下操作搭建門戶網站。

  1. 在ECS服務器上,執行以下命令,安裝Git。
  2. -y install git
  3. 在ECS服務器上,執行以下命令下載PbootCMS源碼文件。
  4. ~ && git clone https://gitee.com/hnaoyun/PbootCMS.git
  5. 執行以下命令將安裝包拷貝到Apache的wwwroot目錄下。
  6. -r PbootCMS/* /var/www/html/
  7. 執行以下命令修改站點根目錄文件權限。
  8. -R a+w /var/www/html
  9. 向數據庫中導入CMS的初始數據。
    執行以下命令初始化數據庫pbootcms的表結構和數據。

說明: 在執行命令前,請修改一下三個參數。
• 數據庫連接地址參見集群詳情頁面下方鏈接地址板塊。
• test_user為步驟二中創建的數據庫賬號。
• Password1213步驟二中創建的數據庫密碼。
sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -h數據庫連接地址 -utest_user -pPassword1213 -Dpbootcms < $sql_file

  1. 執行以下命令,修改CMS系統數據庫配置。
    說明: 在執行命令前,請根據參數說明替換您的數據庫配置。

cat > /var/www/html/config/database.php << EOF
<?php
return array(

'database' => array(
    'type' => 'mysqli', // 數據庫連接驅動類型: mysqli,sqlite,pdo_mysql,pdo_sqlite
    'host' => 'pc-uf634my6zh822su9v.rwlb.rds.aliyuncs.com', // PolarDB數據庫鏈接地址
    'user' => 'test_user', // PolarDB數據庫的用戶名
    'passwd' => 'Password1213', // PolarDB數據庫的密碼
    'port' => '3306', // 數據庫端口
    'dbname' => 'pbootcms' //數據庫名稱
)

);
EOF

  1. 返回ECS控制檯,在ECS實例列表頁面,單擊已創建的ECS實例ID鏈接進入ECS詳情頁。
  2. 在左側導航欄,單擊 本實例安全組 ,然後單擊安全組的ID鏈接查看安全組配置。
    確保安全組開放了80端口訪問,否則無法訪問已搭建的門戶網站。安全組是一種虛擬防火牆,具備狀態檢測和數據包過濾能力,用於在雲端劃分安全域。通過配置安全組規則,您可以控制安全組內一臺或多臺ECS實例的入流量和出流量。
  3. 訪問程序。
    執行以下命令重啟 Apache服務。

systemctl restart httpd
在瀏覽器地址欄輸入雲服務器的公網IP地址,進入門戶網站首頁。
系統後臺默認訪問路徑為http://公網IP地址>/admin.php。默認賬號為admin,密碼為123456。
至此您已完成門戶網站的搭建,您可以根據公司的需求自定義門戶網站的內容。

image.png

Leave a Reply

Your email address will not be published. Required fields are marked *