引言
阿里云不仅提供有免费的服务器资源还有保姆级教程与带学课程。通过难得的试用机会,我得以系统性学习 Linux 操作系统、HTML&CSS、前端三大件和云服务器管理迁移等内容,成功部署基于WordPress系统的第一个动态网站。
ECS+RDS成就丝滑建站体验
我们从零开始提出一个问题:网站是什么?
访问网站大致分为五步,解析主机名,查找主机IP地址,发送请求、服务器处理请求和服务器返回响应。用户与网站之间遵循请求-响应模型,通过HTTP协议传递信息。网站可以根据不同需求提供动态或静态的响应。将内容传输并可视化显示给用户。其中解析并查找主机需要服务器开通域名并配置DNS服务器,服务器处理请求需要调配后端技术栈(语言、框架等),动静结合生成响应,最后以正确格式返回,是一个复杂的工程。
服务器处理请求如此复杂,那我们可以怎么样快速入门呢?
答案是使用CMS(Content Management System)即内容管理系统,它是一种用于管理和发布内容的计算机软件。CMS让人们无需编程就可以管理网站内容,大大降低了网站建设和维护的门槛。任何类型、规模的网站都可以利用CMS快速建立并进行管理。最流行的CMS之一就是WordPress,它是基于PHP系统构建的。(除此之外还有Drupal、Joomla、Magento)
那云数据库RDS MySQL Serverless是干什么的呢?
首先,想要构建一个网站光有CMS是不行的,虽然CMS大多集成了很多框架组件但没有核心的数据存储管理能力,也就是说没法高效的把你的文章存起来。而数据库为WordPress提供了结构化的数据存储与管理功能,可以高效、安全地保存大量内容,实现用户管理、访问控制等功能。数据库的持久化存储和高效读取可以优化WordPress的性能,统一的数据库结构也简化了开发与扩展。数据库使WordPress拥有了动态网站的核心能力。数据库产品有很多,开源的MySQL应用非常广泛,而云数据库 RDS MySQL 版则是一种稳定可靠、可弹性伸缩的在线 MySQL 数据库服务。使用RDS MySQL Serverless可以免去数据库维护烦恼(你知道的,仅仅安装删除就是个麻烦事,有时候真的清理不干净),保持数据的安全和高可用。
其实WordPress和MySQL可以部署到一台ECS上的,选择RDS MySQL Serverless是因为它可以帮助降低服务间的耦合性,同时可以省去运维烦恼,由阿里云来实现高可用和数据安全性。
当安装WordPress时,需要创建数据库并在wp-config.php文件中配置数据库信息,包括数据库名、用户名、密码等,在使用RDS MySQL Serverless则需要配置为RDS实例的信息。这将允许WordPress连接数据库。然后WordPress会在数据库中创建必要的表来存储数据,例如wp_posts表存储文章内容,wp_users表存储用户信息等。在使用WordPress时,内容的添加、编辑、删除以及前台页面的访问都会涉及对数据库的操作。例如发布一篇新文章,数据会被写入wp_posts表;修改一个用户的信息,数据会被写入wp_users表。所以简单来说,数据库为WordPress提供了一个用来存储、管理所有数据的后端结构。两者紧密地结合在一起,共同支撑起整个WordPress网站。
原理非常清楚了,那么我们开始丝滑体验吧!
准备资源:
云服务器ECS实例(与RDS同一地域)、安全组、云数据库RDS MySQL Serverless实例(与ECS同一地域)、域名&备案(可选)。
1- 资源预备:
a) 开通ECS,在试用页面我们直接点击立即试用,产品规格和试用额度是预设好的,我们只需要选择操作系统即可,由于需要使用RDS因此我们不需要选择预装应用。这三种操作系统都选择但步骤不同,考虑到Windows需要耗费太多计算资源,我们选择更轻量化的Linux,本次分享以Ubuntu为例。产品地域影响不大但一般建议选择离用户更近的地区以加快访问速度。到期释放按个人需求配置即可。
b) 配置ECS,由于我们是在试用界面快速创建的,并没有配置密码和安全组,所以我们需要在管理控制台来进行设置。【重置密码】的对话框中,输入新的自定义密码,完成密码重置。重置密码后,必须重启ECS实例,重置的密码才会生效。【安全组】我们需要监听wordpress配套的Apache服务的80端口,在入方向允许放行HTTP(80)端口,授权对象可以选择0,即允许所有IP访问该网站(可以快速设置HTTP服务允许)。后面设置RDS的安全组时建议仅允许ECS的公网IP访问。
c) 开通RDS,选择与ECS实例相同的杭州地域并同意授权即可快速开通~(同地域云产品可以互通访问)
d) 创建RDS账号,安装如图路径进入用户账户创建页面,创建的这个账号需要记住并配置到WordPress的配置文件中去。账号类型选择普通账号即可。
然后我们需要创建初始的数据库,支持字符集:默认设为utf8。授权账号:选择上一步新建的数据库账号。
如果你的ECS和RDS不在同一地域的同一可用区的同一交换机下,那么你一定还需要配置RDS实例的白名单。点击添加白名单分组,将ECS实例的公网IP添加进去即可。
2- 部署WordPress
a) WordPress需要在ECS中部署,因此我们需要登录到ECS实例,我们可以使用SSH工具(例如PuTTY)访问ECS实例的公网IP来使用账号密码进行登录,但这并不方便,建议使用【Workbench远程连接】来访问,进入后输入账号密码即可登录成功。
b) 登录成功后安装环境。
安装Apache 1、更新Ubuntu系统内的软件包|sudo apt update 2、安装Apache | sudo apt-get -y install apache2 3、查看Apache版本| apache2 -v 4、启动Apache服务并设置服务开机自启动| sudo systemctl start apache2 |
安装PHP sudo apt -y install php-fpm sudo apt -y install libapache2-mod-php 查看版本 sudo php -v |
c) 安装WordPress
1、安装脚本 curl -O https://wordpress.org/latest.tar.gz tar xzvf latest.tar.gz 2、由于PHP默认访问 /var/www/html/ 文件夹,所以我们需要把 wordpress文件夹里的文件都复制到 /var/www/html/ 文件夹 sudo mv wordpress/* /var/www/html/ sudo chmod -R 777 /var/www/html/ 3、将apache指定到index.html sudo mv /var/www/html/index.html /var/www/html/index~.html 4、重启Apache 服务 sudo service apache2 restart |
d) 配置数据库连接。完成上述步骤后访问ECS公网地址你会发现提示没有配置数据库。
cd进入/var/www/html后找到wp-config.php,对其中的数据库连接配置进行修改后再重启apache服务器就能进入wordpress配置页面啦。(推荐使用Vim工具来编辑)database_name_here为RDS中创建的数据库名称,本示例为wordpress。username_here为RDS的数据库用户名,本示例为testwp。password_here为RDS的数据库登录密码。数据库地址为您自己的RDS数据库的外网连接地址,如果内网通达的话也可以写内网地址。
e) 初始化。到此为止已经度过所有难点了,接下来只是wordpress应用的初始化配置了。我们访问ECS公网IP后按照提示设置站点内容即可。
3- 享受你的部落格(Blog)体验吧!
a) (可选)现在你的网站只能通过IP访问,想要通过域名访问则需要购买域名并完成备案。
b) (提示)如果你要上传自定义主题,那么你一定需要更改php的上传限制,默认上传2MB,大多数自定义主题的大小都超过这个限制。修改/etc/php/8.1/apache2目录下php.ini里的upload_max_filesize值为10MB即可。
c) 分享我的成果~ 交流学习可咨询我哦~ 我使用的主题为GitHub - seatonjiang/kratos: 📖WordPress theme that focus on reading experience
开箱即用
即使已有基础知识在身,像配置环境很繁琐的过程也是会本能的抗拒。如果你想要非常快速的搭建起一个网站阿里云ECS也能够满足你!在阿里云ECS镜像市场已经有很多封装好的环境镜像,对于个人来说非常友好,尤其是对于我这样的零基础开发者,它能够把已配置好的自由服务端软件、运行环境初始化安装和网络资源的配置拉过来就用。
在购买时你就可以不选择操作系统,而是使用已经打包好应用的镜像来一键部署。如果你已经购买,那么可以在ECS控制台先把示例关机再切换镜像。
如果你是小白但是对云计算和计算机也很感兴趣的同学,那么选择阿里云ECS是很明智的,不管是使用ECS搭建博客、购物网站、部署开发环境还是写低代码小程序在这里都可以很轻松的实现。
尾巴
这是选择阿里云ECS的主要理由。在云原生大施拳脚的今天,阿里云提供了云开发平台,使用阿里云ECS可以与其绑定使用主机开发,尽情享受云开发的便利。此外,域名、备案、OSS、DNS、ROS、弹性伸缩、RDS等衍生产品都可以在阿里云一站式原生解决,降低选择和迁移成本。
ECS+RDS成就丝滑体验的建站分享到这里就结束了。从小白到站长,从站长到开发者,一路均有阿里云相伴左右。路虽弥,不行不至。事虽小,不做不成。