天天看點

使用PolarDB和ECS搭建門戶網站背景知識開始實驗

背景知識

PolarDB資料庫簡介
  1. PolarDB是阿裡雲自研的下一代關系型雲資料庫,有三個獨立的引擎,分别可以100%相容MySQL、100%相容PostgreSQL、高度相容Oracle文法。
  2. PolarDB采用存儲和計算分離的架構,所有計算節點共享一份資料,提供分鐘級的配置升降級、秒級的故障恢複、全局資料一緻性和免費的資料備份容災服務。
    • 叢集架構,計算與存儲分離
    ​ PolarDB采用多節點叢集的架構,叢集中有一個Writer節點(主節點)和多個Reader節點(讀節點),各節點通過分布式檔案系統(PolarFileSystem)共享底層的存儲(PolarStore)
    • 讀寫分離
    ​ 當應用程式使用叢集位址時,PolarDB MySQL/PostgreSQL通過内部的代理層(Proxy)對外提供服務,應用程式的請求都先經過代理,然後才通路到資料庫節點。代理層不僅可以做安全認證和保護,還可以解析SQL,把寫操作(例如事務、UPDATE、INSERT、DELETE、DDL等)發送到主節點,把讀操作(例如SELECT)均衡地分發到多個隻讀節點,實作自動的讀寫分離。對于應用程式來說,就像使用一個單點的MySQL資料庫一樣簡單。内部的代理層(Proxy)後續将支援PolarDB相容Oracle文法引擎。
産品優勢
  • 容量大
  • 高成本效益
  • 分鐘級彈性
  • 讀一緻性
  • 毫秒級延遲
  • 無鎖備份

開始實驗

建立PolarDB資料庫賬号
  • 登入阿裡雲管理控制台建立資料庫賬号,類型為普通賬号
  • 建立資料庫,為新建立的賬戶授予讀寫權限,并設定資料庫白名單
安裝LAMP環境
  1. 在ECS伺服器上,執行以下指令安裝Apache服務及其擴充包
    yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql           
  2. 安裝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           
systemctl start mysqld           
搭建門戶網站
  1. 在ECS伺服器上,執行以下指令,安裝Git。
    systemctl restart httpd           
  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的初始資料。
    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步驟二中建立的資料庫密碼。
  6. 執行以下指令,修改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           
  7. 配置ECS安全組
  8. 重新開機 Apache服務,通路程式。
使用PolarDB和ECS搭建門戶網站背景知識開始實驗