V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aliyuntiyan1
V2EX  ›  程序员

使用 PolarDB 和 ECS 搭建门户网站

  •  
  •   aliyuntiyan1 · 2021-01-28 11:34:58 +08:00 · 747 次点击
    这是一个创建于 1178 天前的主题,其中的信息可能已经有所发展或是发生改变。

    体验目标

    本场景基于 PolarDB 和 ECS 实现搭建门户网站。

    背景知识

    PolarDB 数据库简介 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 语法引擎。

    体验准备

    本场景需要开通 PolarDB 及 ECS 阿里云体验实验室 有提供2 小时 ECS 体验 PolarDB 新用户可购
    1 元开通 PolarDB 实例及存储包

    连接 ECS 服务器

    1. 打开终端工具。
    • Windows:打开命令窗口。
    • MAC:打开命令行终端 Terminal 。

    Windows 用户请检查系统中是否安装有 SSH 工具。检查方法:

    在终端中输入命令 ssh -V 。

    ssh -V
    
    

    如果显示 SSH 版本则表示已安装,如下图所示。 在这里插入图片描述 如果未安装,请下载安装 OpenSSH 工具。

    1. 在终端中输入连接命令 ssh [username]@[ipaddress] 。 您需要将其中的 username 和 ipaddress 替换为步骤一中创建的 ECS 服务器的弹性公网 IP 。例如:
    ssh [email protected]
    

    在这里插入图片描述 命令显示结果如下: 在这里插入图片描述 3. 输入 yes 。 4. 同意继续后将会提示输入登录密码。 密码为已创建的云服务的 ECS 的登录密码。 在这里插入图片描述 登录成功后会显示如下信息。 在这里插入图片描述

    安装 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 环境。 执行以下命令,安装 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 的初始数据。 执行以下命令初始化数据库 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
    

    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 控制台,在 ECS 实例列表页面,单击已创建的 ECS 实例 ID 链接进入 ECS 详情页。 8. 在左侧导航栏,单击 本实例安全组 ,然后单击安全组的 ID 链接查看安全组配置。

    确保安全组开放了 80 端口访问,否则无法访问已搭建的门户网站。安全组是一种虚拟防火墙,具备状态检测和数据包过滤能力,用于在云端划分安全域。通过配置安全组规则,您可以控制安全组内一台或多台 ECS 实例的入流量和出流量。 在这里插入图片描述 9. 访问程序。 执行以下命令重启 Apache 服务。

    systemctl restart httpd
    

    在浏览器地址栏输入云服务器的公网 IP 地址,进入门户网站首页。

    系统后台默认访问路径为 http://<ECS 公网 IP 地址>/admin.php 。默认账号为 admin,密码为 123456 。

    至此您已完成门户网站的搭建,您可以根据公司的需求自定义门户网站的内容。 在这里插入图片描述

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2936 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 13:55 · PVG 21:55 · LAX 06:55 · JFK 09:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.