建网站的成本计算,wordpress 换主机,阿里云虚拟主机多网站,ppt做仿网站点击效果文章目录 一、前言二、数据库发展与云原生数据库2.1 数据库发展简介2.2 云原生数据库简介2.2.1 云数据库与云原生数据库区别 三、腾讯云 TDSQL-C 数据库3.1 什么是腾讯云 TDSQL-C 数据库3.2 为什么推出 TDSQL-C 数据库#xff1f;传统 MySQL 架构存在较多痛点3.2.1 传统 MySQL… 文章目录 一、前言二、数据库发展与云原生数据库2.1 数据库发展简介2.2 云原生数据库简介2.2.1 云数据库与云原生数据库区别 三、腾讯云 TDSQL-C 数据库3.1 什么是腾讯云 TDSQL-C 数据库3.2 为什么推出 TDSQL-C 数据库传统 MySQL 架构存在较多痛点3.2.1 传统 MySQL 的主从架构存在的痛点3.2.2 TDSQL-C 计算与存储分离架构的优势 四、腾讯云 TDSQL-C 数据库项目实战案例4.1 项目介绍以及架构4.2 实战搭建详细步骤4.2.1 使用腾讯云轻量服务器搭建 LNMP 应用运行环境(1) 准备服务器如果个人服务器可跳过(2) 安装 Nginx(3) 安装 PHP 并配置 Nginx 启用其支持 4.2.2 腾讯云 TDSQL-C 配置及搭建(1) 创建私有云 VPC(2) 创建云原生数据库 TDSQL-C(3) 为 TDSQL-C 配置网络安全组(4) 使用腾讯云数据库管理工具 DMC 连接数据库(5) 创建 LNMP 数据库并验证连接 4.2.3 安装并配置 WordPress(1) 下载 WordPress 软件包(2) 移动并配置 WordPress 包(3) 编辑修改 WordPress 配置文件(4) 安装 WordPress(5) 登录并配置管理后台(6) 访问博客主页验证效果 五、文末总结 一、前言
在今天快速发展的数字化时代数据库技术日新月异。本文将带领您追溯数据库的历程探讨云原生数据库的概念并重点关注腾讯云的创新力作——TDSQL-C 数据库。
我们将揭示传统 MySQL 架构的问题探究 TDSQL-C 数据库的计算与存储分离架构所带来的优势。
通过实例您将逐步了解如何构建稳定的 LNMP 应用环境包括服务器设置、Nginx 和 PHP 的安装以及 TDSQL-C 数据库的配置。最后我们将以 WordPress 案例验证环境搭建效果。本文将帮助您深入了解数据库发展和云计算融合的前沿探索。
二、数据库发展与云原生数据库
2.1 数据库发展简介
从下图中可以看出来在早起也就是上个世纪的 80 年代左右数据库的产业主要是以商业数据库为主基本大家都有听说过的或者使用过的数据库Oracle、DB2、SQL Server等在 90 年代后主要是开源数据库为主了比如MySQL同时分析型数据库也开始快速增长从 2000 年到 2010 年以互联网公司 Google 的三大件 Google File System、Google Bigtable 和 Google MapReduce 为代表他们主要解决了分布式数据库的问题大家应该知道在传统的数据库中对于数据具有强一致性这样数据库系统很难进行水平扩展以及对海量数据进行分析能力降低。而 Google 推出的3个套件对数据库的强一致性进行了弱化并且进行分布式集群的时候对数据库的水平做了很好的扩展。在这之后很快 NoSQL 数据库非结构化数据库开始兴起比如MongoDB、Redis等。而到了如今云原生数据库开始兴起比较出名的是亚马逊云科技的 Amazon Aurora 以及今天的重点介绍对象腾讯云的 TDSQL-C。 (图片来源于TDSQL-C 培训课程) 而下面的数据图谱数据主要来源于中国信息通信研究院2022年的数据从图中可以看出有三条线一条是国外的数据库发展时间线另一条是国内数据库的发展时间线中间的一条线为国家的一些政策。主要可以看出数据库经历了3个重大的变革时期
1. 2000~2009年国外数据库产业发展成熟国内数据库初具雏形。 2. 2009~2018年国外数据库开始与云融合国内数据库逐渐繁荣。 3. 2018~2022年全球数据库格局风云变革国内自主数据库百家争鸣。 (图片数据来源于中国信息通信研究院) 2.2 云原生数据库简介
看了不少视频和文档个人总结起来云原生数据库是指专为云环境设计和构建的数据库系统可以充分发挥云计算的优势并适应现代应用开发和部署的需求。云原生数据库强调高可用性、弹性扩展、自动化管理以及与容器化、微服务架构等技术的紧密集成。
2.2.1 云数据库与云原生数据库区别
其实到这里可能有同学会问我之前在某某某云厂商直接租了一个云数据库这种数据库难道不是云原生数据库吗如果不是和云原生数据库有什么区别么
下面我用一个脑图来做对比结合上面我总结的云原生数据库的概念你应该就清晰明白了。 (点击图片放大转载注明出处) 首先要明确云数据库与云原生数据库是两个完全不同的概念一定不要混淆
云数据库是指在云计算环境中托管和管理的数据库服务。它可以是传统的关系型数据库如MySQL、PostgreSQL、SQL Server或NoSQL数据库如MongoDB、Cassandra、Redis等。这些数据库被部署在云提供商的基础设施上用户可以通过网络访问和管理这些数据库。云数据库具有自动扩展、备份、恢复、高可用性等特性使用户可以专注于应用程序开发而无需担心底层基础设施的管理这里可以理解为云数据库是一种云计算中的PaaS服务。 (腾讯云官网数据库产品页截图) 云原生数据库是指专门设计和构建为云环境的数据库系统。它们充分利用了云计算的优势如弹性扩展、自动管理、容器化等。云原生数据库可以轻松地适应动态变化的工作负载和资源需求。这些数据库更加灵活、可扩展以提供更高的敏捷性和可靠性。
三、腾讯云 TDSQL-C 数据库
3.1 什么是腾讯云 TDSQL-C 数据库
TDSQL-C 现阶段分为两个版本MySQL 版TDSQL-C for MySQL和 PostgreSQL 版TDSQL-C for PostgreSQL 。TDSQL-C 是腾讯云自研的新一代云原生关系型数据库。融合了传统数据库、云计算与新硬件技术的优势为用户提供具备极致弹性、高性能、海量存储、安全可靠的数据库服务。TDSQL-C MySQL 版100%兼容 MySQL 5.7、8.0而 TDSQL-C PostgreSQL 版100%兼容 PostgreSQL。实现超百万级 QPS 的高吞吐最高 PB 级智能存储保障数据安全可靠。
3.2 为什么推出 TDSQL-C 数据库传统 MySQL 架构存在较多痛点
TDSQL-C数据库的推出源于对于传统MySQL架构存在的多个问题的回应。随着互联网的发展业务数据急剧增长用户对数据库计算与存储能力的需求不断增加。然而在业务需求持续增长的情况下传统MySQL架构的优化和升级变得困难重重。因此为了解决这些挑战TDSQL-C数据库应运而生利用计算与存储分离、新硬件潜力、物理复制特性以及分布式系统优势等提供了高性能、低成本、大存储能力、低主从复制延迟、秒级扩缩容、极速回档和无服务器化等一系列独特优势弥补了传统MySQL架构的痛点。 (腾讯云 TDSQL-C 数据库官方文档) 3.2.1 传统 MySQL 的主从架构存在的痛点
从上图中可以看出左侧为传统 MySQL 的主从架构使用 MySQL 的同学应该不会莫生此架构。根据自身我们自身经验并结合腾讯云 TDSQL-C 数据库官方文档我们可以总结出传统 MySQL 的主从架构存在的一些痛点
数据同步会有延迟可能存在高延迟的情况写入性能有限制主从部署 IO 较大单条的 SQL 响应时间会被拉长。性能拓展效率会降低单个 MySQL 升级规格的时候或者增加从机时数据迁移时间会拉长耗时严重1T数据可能耗时数小时存储空间受限这种传统 MySQL 的主从架构在进行备份数据库的时候耗时和回档时间过长。如果设计高可用架构的时候必须要多节点硬件资源配置要求较高即成本会增加。
3.2.2 TDSQL-C 计算与存储分离架构的优势
上述右半部分图示呈现了 TDSQL-C 的整体架构清晰划分为上层计算层与下层存储层。
计算层由一个读写节点负责处理读写请求以及多个只读节点即Master节点和Slave节点负责满足读取需求。在处理读写请求特别是写请求时Master节点即读写节点会对数据进行修改随后将 InnoDB Redo Log 中的修改传送至整个存储层并将 Redo Log 分发至自身的 RO 节点。
存储层则承担数据管理职责一旦产生的 Redo 日志传输至存储层它负责回放这些日志。
其写入的流程可以总结为
基于共享存储架构整体读写 IO 减少60% 以上写入性能明显提高系统实现了秒级故障切换以及秒级增加 Slave 从机单个计算节点可以实现高可用节省 50% 的计算节点成本涵盖秒级快照备份和回档。由于存储层和计算层均具备弹性因此可在一定程度上实现Serverless 架构。
四、腾讯云 TDSQL-C 数据库项目实战案例
4.1 项目介绍以及架构 LNMP 是一种用于搭建和配置服务器环境的技术栈它包括 Linux、Nginx、MySQL或MariaDB、PHP 这四个关键组件的首字母缩写。每个组件都有其特定的功能将它们组合在一起可以创建一个适用于托管网站、应用程序和服务的完整服务器环境。 项目名称基于腾讯云轻量服务器以及 TDSQL-C 搭建 LNMP WordPress 博客系统
官网地址https://wordpress.org
项目简介WordPress 不仅是一款个人博客系统还可充当内容管理系统CMS使用。它采用 PHP 语言和 MySQL 数据库开发而成。在此案例中我们选择了腾讯云 TDSQL-C 作为数据库而非直接使用本地安装的 MySQL。这意味着用户可以在配备 PHP 和腾讯云 TDSQL-C 数据库支持的服务器上轻松搭建自己的博客。
开发语言PHP
应用运行环境CentOS、Nginx、PHP、腾讯云 TDSQL-C 数据库
涉及云服务腾讯云轻量服务器、弹性 IP、腾讯云 TDSQL-C 数据库、私有云 VPC
WordPress 搭建好后可通过 EIP 进行访问整体的应用架构拓扑如下图所示 (基于腾讯云 TDSQL-C 的 LAMP 案例拓扑图未经允许禁止转载) 4.2 实战搭建详细步骤
4.2.1 使用腾讯云轻量服务器搭建 LNMP 应用运行环境
(1) 准备服务器如果个人服务器可跳过
本案例使用的是腾讯云轻量服务器TencentCloud Lighthouse轻量服务器相较普通的服务器你可以简单的理解其适合中小企业或者个人开发者具有性价比高等特点。此处不是本文重点不做过多赘述。
购买腾讯云轻量服务器
我这里直接搞了一个首单3年的轻量服务器刚好有3折活动感觉个人使用还是比较划算的。
应该定期有促销活动具体什么时间什么具体价格关注他们官方网站https://cloud.tencent.com/act 确认订单信息和所需价格之后勾选购买协议点击下一步即可。 点击支付后会有返回按钮点击返回按钮后如下图所示可以点击查看实例如果你不知道如何重置密码可以按下图所示先点击重置密码查看里面的帮助文档如何进行重置密码如果你已经知道如何重置密码那么可以直接点击查看实例。按照我的步骤设置也可以。 重置服务器密码
在服务器实例选项卡页面点击更多按钮会出现重置密码选项点击重置密码即可。 可以在更多页面看到除了重置密码外开关机重装系统制作镜像等选项都在其中。 在新弹出的窗口内直接输入新密码点击重置即可注意重置页面里用户名默认选项是root如果你的实例机器里面已经有多个账号可以点击选项此处不做过多介绍。
修改完密码后使用 SSH 工具XShell、MobaXterm进行连接即可具体方式本文不做介绍可以自行查找。
(2) 安装 Nginx
1. 配置yum源
没有特别需求的情况下可使用 yum 进行安装如果有各种历史版本的要求可以根据自身情况直接配置yum源官网源配置可参考官网地址https://nginx.org/en/linux_packages.html。此处我们略过不进行配置直接自己使用yum默认腾讯云的配置进行安装 Nginx。
2. 使用yum进行安装 Nginx
使用 yum 直接安装还是比较方便的直接执行下面的命令即可。
yum -y install nginx等待一会安装信息出现 Complete 即表示 Nginx安装成功 3. 启动 Nginx 并进行测试
使用以下命令进行启动并设置开机自启动
[rootVM-8-7-centos ~]# systemctl start nginx
[rootVM-8-7-centos ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.可使用浏览器访问·http://弹性IP地址·若 Nginx 安装成功则会显示类似如下页面不同版本显示的样式可能不同 (CentOS7 安装 Nginx 后正常欢迎页面) (3) 安装 PHP 并配置 Nginx 启用其支持
1. 添加安装源
因为 LNMP 中可能会出现 PHP 不兼容的情况所以这里采用 yum 指定安装版本的方式进行安装
[rootVM-8-7-centos ~]# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
[rootVM-8-7-centos ~]# yum repolist查看源中包含PHP各版本相关的软件包
[rootVM-8-7-centos ~]# yum --showduplicate --enablereporemi --enablereporemi-php74 list php2. 安装 PHP 以及 PHP 扩展包
执行以下命令安装PHP7.4和一些所需的 PHP 扩展
yum -y install --enablereporemi --enablereporemi-php74 php php-tidy php-common php-devel php-pdo php-mysql* php-gd php-ldap php-mbstring php-mcrypt php-fpm完成安装提示 3. 启动php-fpm服务
执行下面的系列命令进行启动php-fpm服务
[rootVM-8-7-centos ~]# php -v
PHP 7.4.33 (cli) (built: Aug 1 2023 09:00:17) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
[rootVM-8-7-centos ~]#
[rootVM-8-7-centos ~]# systemctl start php-fpm
[rootVM-8-7-centos ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[rootVM-8-7-centos ~]#
[rootVM-8-7-centos ~]#
[rootVM-8-7-centos ~]# netstat -nplt | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 29097/php-fpm: mast执行步骤图如下 4. 启用PHP支持
修改nginx配置文件配置启用PHP支持。如果担心修改配置文件出错可备份一下默认的配置文件。
[rootVM-8-7-centos nginx]# vim nginx.conf
[rootVM-8-7-centos nginx]#access_log /var/log/nginx/access.log main;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 4096;include /etc/nginx/mime.types;default_type application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;server {listen 80;listen [::]:80;server_name _;location / {root /usr/share/nginx/html;index index.html index.htm index.php;}# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location /404.html {}error_page 500 502 503 504 /50x.html;location /50x.html {}# add fastcgi_params of php support.location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;include fastcgi_params;}}[rootVM-8-7-centos nginx]#
[rootVM-8-7-centos nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[rootVM-8-7-centos nginx]#
[rootVM-8-7-centos nginx]# nginx -s reload
[rootVM-8-7-centos nginx]#5. 测试 LNMP 的 PHP 支持
编辑PHP测试页面
[rootVM-8-7-centos nginx]# echo ?php phpinfo(); ? /usr/share/nginx/html/index.php编辑了页面后重载服务后生效
[rootVM-8-7-centos nginx]# systemctl reload nginx使用浏览器访问http://弹性IP地址/index.php显示如下图页面说明 PHP 安装成功 到此处关于 LNMP 的 Nginx 以及 PHP 已经配置完成接下来开始配置 腾讯云 TDSQL-C 数据库。
4.2.2 腾讯云 TDSQL-C 配置及搭建
(1) 创建私有云 VPC 这里提一下我这里设置的/16是什么意思CIDR 表示法中的 “/16” 意味着子网掩码中有 16 位为网络地址剩余的 32 - 16 16 位为主机地址。这意味着在该子网中有 2^16 个不同的 IP 地址可以用于主机。 计算出来是 2^16 65536。因此CIDR 为 “/16” 的子网中有 65536 个可用的 IP 地址。这些 IP 地址将从该子网的第一个地址开始通常是网络地址到最后一个地址结束通常是广播地址剩余的地址可以用于主机。需要注意的是某些 IP 地址可能被保留用于特定用途因此实际可用的主机 IP 地址数量可能会稍微少于这个数目。 关于 CIDR 设置规则以及 ABC 网络等此处不是重点如果想学习的同学可以关注本博客或者后续自行查找网络资源进行学习。
(2) 创建云原生数据库 TDSQL-C
如果是直接在 TDSQL-C 中购买产品可以看到如下的选项配置价格等。 我们这里是学习使用在这里我们购买了一个免费的 TDSQL 集群版来做演示 (3) 为 TDSQL-C 配置网络安全组
配置网络安全组根据自身需要可以开启外网地址。注意如果是真实环境不建议配置外网地址。 配置安全组注意下图在配置安全组的时候会出现sg安全组id这个代表之前你已经创建了安全组规则具体创建安全组规则的位置是点击进入私有网络之后点击安全之后点击创建安全组。 注意我这里为了方便演示直接设置的安全组为放行所有端口如果是真实案例请根据自身情况设置所需要开放的端口。 (4) 使用腾讯云数据库管理工具 DMC 连接数据库
数据库管理工具 DMC是腾讯云自带的链接工具当然你也可以使用自己习惯的数据库链接客户端比如mysql workbench或者 navicat 都可以。 (5) 创建 LNMP 数据库并验证连接
在数据库管理中新建一个新的数据库wordpress如下图所示 在 腾讯云轻量服务器内连接到我们创建的 TDSQL-C 数据库后可以看到刚刚创建的wordpress数据库 4.2.3 安装并配置 WordPress
(1) 下载 WordPress 软件包
打开 WordPress 的中文网站进行下载下载地址https://cn.wordpress.org/download/ 将下载的 WordPress 软件包从本地上传至 腾讯云轻量服务器 中这里可以使用WinSCP或者FileZilla来上传都可以根据自身习惯来选择。
另外一种方式是在服务器内直接使用wget命令来下载这种情况是服务器可以访问外网的情况下如果不能访问还是需要按照上述方法来走。
wget https://cn.wordpress.org/latest-zh_CN.tar.gz -O wordpress-6.3-zh_CN.tar.gz(2) 移动并配置 WordPress 包
依次执行下面的命令进行安装 WordPress 包这几个命令的顺序作用是
先是解压开所下载的 WordPress 包之后移动其到 nginx 页面目录下授权移动后的 WordPress 包的所属用户组和权限为apache用户如果不设置在启动后更换主题和插件的时候会出现连接信息错误
[rootVM-8-7-centos data]# tar -xzvf wordpress-6.3-zh_CN.tar.gz
[rootVM-8-7-centos data]#
[rootVM-8-7-centos data]# mv wordpress /usr/share/nginx/html/
[rootVM-8-7-centos data]# chown -R apache:apache /usr/share/nginx/html/wordpress/
[rootVM-8-7-centos data]# ll /usr/share/nginx/html/wordpress/(3) 编辑修改 WordPress 配置文件
复制模板文件
进入 WordPress 项目目录将wp-config-sample.php文件复制名为wp-config.php的文件用作配置文件并保留示例配置文件以作备份。
cd /usr/share/nginx/html/wordpress
cp wp-config-sample.php wp-config.php编辑修改 WordPress 的配置文件
使用vim命令进行编辑配置文件把DB_NAME数据库名称、DB_USER数据库用户名、DB_PASSWORD数据库密码以及DB_HOST数据库主机地址更改为之前所配置的设置。
vim wp-config.php直接修改下图所示的3个 TDSQL-C 的信息 (4) 安装 WordPress
在浏览器地址栏输入http://弹性IP地址/wordpress 即可跳转至安装页面填写完对应的表单信息后即可点击安装WordPress按钮进行安装。 安装成功后的页面如下图所示 (5) 登录并配置管理后台
完成安装界面输入密码选择登录或者在浏览器输入http://弹性IP地址/wordpress/wp-admin进入后台登录界面并输入账号和密码即可登录管理后台。登陆成功进入到后台后可以看到仪表盘页面如下图所示 (6) 访问博客主页验证效果
在仪表盘的左上角点击查看站点或者在浏览器输入http://弹性IP地址/wordpress 即可查看主页。 五、文末总结
本文通过介绍数据库发展与云原生数据库以及腾讯云 TDSQL-C 数据库深入探讨了传统 MySQL 架构的问题和痛点以及 TDSQL-C 数据库的计算与存储分离架构的优势。
通过一个实际的项目案例详细展示了使用腾讯云轻量服务器搭建 LNMP 应用运行环境的步骤包括服务器准备、Nginx 和 PHP 的安装配置以及 TDSQL-C 数据库的配置与搭建通过本案例可以完美证实腾讯云的 TDSQL-C 可以完美兼容 MySQL 数据库最后成功使用 TDSQL-C 代替 MySQL 搭建成功 LNMP 的 WorPress。
本文提供了完整的安装并配置 WordPress 的步骤并强调了对博客主页的访问以验证效果。希望阅读完本文的小伙伴可以深入了解数据库架构的发展、云原生数据库的概念以及在实际项目中如何利用腾讯云的服务构建稳定高效的应用环境。