构建云上个人博客:ECS、RDS与WordPress的快速搭建与优化指南

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云服务器ECS,u1 2核4GB 1个月
简介: 本指南将带您探索如何快速搭建个人博客,从开通ECS和RDS,到软件部署(Apache、PHP、WordPress)及WordPress配置优化,展示从零开始搭建具有稳定性和性能的个人博客之路。

Mr.Hacker 博客首页截图,访问地址

image.png

01.前言导读

在信息爆炸的时代,每个人都有独特的故事和知识想要分享。而个人博客正是一个无比重要的工具,为我们提供了一个数字空间,可以畅所欲言,与世界分享我们的见解、经验和创意。无论是记录生活琐事,还是分享专业技术,博客是我们表达自己、交流与探索的窗口。


然而,搭建个人博客可能对一些人来说似乎是一个复杂而令人望而却步的过程。幸运的是,在阿里云计算技术的支持下,我们可以通过一些简单的步骤,快速而稳定地构建起自己的博客。本指南将引导小白完成这个过程,从开通ECS和RDS这些云上资源,到配置Apache、PHP以及搭建WordPress,同时也会分享WordPress的优化技巧及在搭建过程中的心得体会


02.安装部署

2.1 服务开通及配置

2.1.1 开通ECS及配置

开通ECS服务后,在【实例列表】—【管理】—【重置密码】。

image.png

image.png

重启后,在【安全组】-【配置规则】。

image.png

入方向【手动添加】访问规则

image.png

2.1.2 开通RDS及配置

开通RDS

ps:注意要和ECS在同一地域,本次实验开通的是【华东1(杭州)】。

image.png

【账号管理】-【创建账号】

image.png

【数据库管理】-【创建数据库】。

image.png

【白名单】-【修改】。

image.png

image.png

2.2 软件部署

配置好服务器和数据库后,接下来就正式部署博客网站,关于搭建博客网站的框架的选型可以参考我的另一篇文章,这里就不详细解释了,总的来说,推荐 WordPressHexo,也是目前最受欢迎的两个博客平台。


  • WordPress:基于PHP和MySQL的免费开源,拥有庞大的用户社区和丰富的插件生态系统;
  • Hexo:基于Node.js的静态博客生成器,具有简洁、高效的特点,使用Markdown语法进行内容编写;


这次部署的用的是WordPress,因为是在ecs环境上安装部署,所以先要连接上ecs实例,同样也有几种方式。

一、习惯本地终端可以通过本地自带终端(terminal)连接。

ps:适合终端主题美化的小伙伴

SSH命令连接云服务器:ssh root@服务器公网ip地址,第一次登录有安全提示如下:
The authenticity of host ' ' can't be established.
ECDSA key fingerprint is SHA256:.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
输入yes,然后回车即可。
接着,输入密码即可


image.png


二、还可以通过ECS的远程连接的Web Terminal

image.png

输入ECS服务器登录用户名和密码,登录ECS。


2.2.1 Apache服务

1、安装Apache服务及其扩展包。

执行以下命令
yum -y install httpd httpd-manual mod_ssl mod_perl
yum -y install httpd httpd-devel

没有报错表示安装成功。image.png

2、启动Apache服务并设置服务开机自启动。

执行以下命令
systemctl start httpd
systemctl enable httpd

出现下面提示表示设置成功。image.png

4、验证Apache服务是否运行

ps:刚接触的小伙伴会有疑问?为什么跟教程返回页面不一样,其实这是Apache的默认页面(没有找到主页返回的页面)。image.png

可以具体查看Apache运行状态来判断是否成功。

执行命令
systemctl status httpd

如果回显信息显示active(running)时,表示Apache已启动

image.png

ps:如果想修改默认页面,可以修改指定目录中 index.html 内容。

目录地址
cd /usr/share/httpd/noindex

2.2.2 安装PHP

执行相关命令后,访问页面出错。

image.png

排查原因:原文教程中有点小问题

1.要想执行php函数,文件要以xxx.php命名,否则就是文本返回

2.访问页面应该改为”http://公网IP/xxx.php“

image.png

修改后,访问成功

image.png

2.2.3 安装WordPress

1、先在指定目录下下载WordPress压缩包。

ps:默认没有这个目录,需要先创建。

image.png

在/var/share目录下执行命令
mkdir-p wpblog/html

2、下载版本,更多WordPress版本可以参考后面附录资料提供的链接。

本次部署下载的是最新中文版本,并修改wp-config.php配置。

执行命令
wget https://cn.wordpress.org/latest-zh_CN.tar.gz


ps:这里踩坑了,一定要注意版本问题,因为安装的是 wordpress最新版6.3,对应的PHP必须是7.0版本以上,否则就会如下图所示。

image.png


关于php5.4如何升级php7.0,参考后面附录资料,升级之后执行php -v,升级成功。

image.png

访问 http://公网IP/wp-blog/wp-admin/install.php , 输入用户名、密码。

image.png

登录成功,接下来就是功能配置优化。

image.png


03.配置优化

3.1 域名配置及解析

网站配置域名的重要性在于易被人记忆,方便推广和传播,所以这次也为 Mr.骇客配置了相关域名。

ps:关于域名解析及备案相关流程,参考后面附录资料

image.png

image.png

网站没有备案过一会儿首页会提示,所以如果买个域名的还是抓紧去备案。

image.png

3.2 数据库

需要访问数据库小伙伴可以直接通过RDS控制台即可登录,下图是 WordPress 的表,这里不一一介绍了,有兴趣的小伙伴可以去看后面附录查看WordPress 的具体教程。

image.png

场景:WordPress 站点地址变更无法访问时修改方法。

这类情况是比较常见的,这时候页面打不开,我们是没法通过页面修改IP地址,所以这就需要通过更改后台数据库的IP地址。

通过更改cw_options 表中的 siteurl 和 home 的 option_value 即可。

image.png

3.3 主题安装

WordPress主题安装教程的方法有两种,分为在线安装和上传安装。

在线安装主题是最方便的WordPress主题安装方式。方法如下:

image.png

找到主题后,点击安装,这里提示需要输入FTP账号密码。

image.png

解决办法:

vim打开wp-config.php文件,在安装的wordpress目录下。

sudovim /var/www/html/wp-blog/wp-config.php

image.png

在最下面添加代码。

/**表示直接上传*/
define("FS_METHOD", "direct");  
/**表示要求文件和目录拥有最高权限777*/
define("FS_CHMOD_DIR", 0777);  
define("FS_CHMOD_FILE", 0777); 

接下来给wp-content目录及其子目录最高权限。

sudochmod777-R /var/www/html/wp-blog/wp-content/

然后再次安装主题,没有提示,安装成功。

image.png


通过后台上传安装,适用于自己从网站上下载或者购买了后台搜索不到的主题的安装。

image.png

3.3.1 主题推荐

WordPress提供了丰富的付费免费的主题,在这里我就推进几款个人觉得不错的,仅供参考。


Twenty Sixteen

是对流行的 WordPress 布局的现代化改造,水平报头带有可选的右侧边栏,非常适合博客和网站。

image.png

Astra

Astra是一个广受欢迎的多用途主题,专注于性能。它是第一个在WordPress.org上超过100万活跃安装的非默认主题。

image.png


Hello

GeneratePress 是一个以速度和可用性为主的轻量级 WordPress 主题。 性能是我们的要求重点,全新安装的 GeneratePress 增加的页面大小仅不到 10k。

image.png

GeneratePress

也是我这个博客的使用的主题,个人比较喜欢这种黑白极简风的主题样式。

image.png

3.4 SEO优化

我们知道网站想要被更多人看到,就需要流量,那么流量从哪里来,一种是花钱买推广流量(类似baidu的推广广告),还有一种就是SEO优化,获取免费的搜索引擎自然流量,下面介绍几种常见的优化手段。


3.4.1 域名和SSL证书

前面其实已经说明了域名的作用,对于网站的推广是必不可少的,还有就是通过https访问的网站,https除了能改善网站的排名,主要的是保护数据隐私,保障消息安全,毕竟谁也不想自己的网站被不法分子攻击劫持。

image.png

可以看到,我目前是没有开启https访问,那如何开启呢?这就需要SSL证书,可以去阿里云数字证书管理服务购买证书,大部分证书是需要域名的,所以域名最好提前申请。

image.png


3.4.2 标题优化

站点标题通常都是你网站的名称,而副标题就是介绍你网站整体内容的一小段话。而这段话里面最好包含你网站要做SEO的关键词信息,例如2023前沿技术分析,常用软件工具,AIGC讨这些关键词。

image.png

一些标题优化建议:

  • 能够清晰地概括文章的主题,同时也要与主标题相互呼应。
  • 尽可能包含关键词,但不要过度堆砌。
  • 长度应该控制在60-80个字符之间,以便于在搜索结果中完整地显示。
  • 使用分隔符来增强可读性,例如使用破折号、短横线或下划线等。
  • 不要重复主标题中的关键词,以免被视为关键词滥用。


3.4.2 SEO插件

在插件列表搜索,推荐Yoast SEO 、Rank Math SEO这两款,直接在线安装即可,这些SEO插件可以帮助你去规范网站的标题、描述和一些社会化标签的内容。

ps:需要注意的是,安装插件对PHP版本有要求,比如我现在是7.3版本,而Rank Math要求PHP最低是7.4。

image.png

image.png

安装之后,有什么用呢,下面关键词优化SEO插件就会帮助我们优化。

3.4.3 关键词

合理地使用关键词可以提升网页在搜索引擎中的排名和可发现性,常见的一些手法,

  • 在标题中使用关键词: 页面标题是页面内容的核心概括,也是搜索引擎最看重的地方之一。确保在标题中包含主要关键词,并且使标题在描述页面内容的同时引人注目。

  • 在正文中使用关键词: 在正文中自然地插入关键词是很重要的,但要避免过度使用,以免被搜索引擎认定为垃圾内容。关键词密度应该是合理的,文章的内容应该流畅、易读。

  • 在URL中使用关键词: 在URL中包含关键词有助于搜索引擎更好地理解页面内容。选择简洁、描述性强的URL,并尽量包含主要关键词。


使用Yoast SEO和Rank Math,都会在你发文章的页面出现一个SEO提示框,会给你一些SEO建议,其中就包含使用Focus Keyword(焦点关键词/中心关键词),例如:

关键词分析

image.png


SEO分析:分为问题、改进、好结果

image.png


3.4.4 外链

外链指非自己网站的其他网站给你留下的链接,高质量的外部链接对于SEO排名效果具有重要影响。这些外部链接,尤其是来自权威性和相关性强的网站,比如社区论坛,多多参与行业相关的论坛、社区,分享你的专业知识,也可能获得其他会员对你网站内容的认可,带来外部链接。


3.4.5 其它

除了上面的优化手段,还有多发表高质量内容,比较内容才是王道,网站结构优化,网站速度优化,元标签优化,移动设备友好等。SEO是一个持续的过程,不断地调整和优化是保持好的排名的关键。

04.博客简介

关于这个博客,在我心中已经酝酿很久,一直没有动手去做,趁着这次阿里云活动机会,开始实践搭建并正式博客之旅,不知道能坚持多久,但既然选择开始,就让我们一起用爱发电。


正如博客的名字Mr.骇客(Hacker),我希望的是每个人都是有独立开发者的认知,特别是在当今竞争激烈的互联网行业,能够在繁忙地工作中抽取一点点时间,通过博客的形式,了解趋势、分享知识、与人交流,形成属于自己的知识体系,打造自己的护城河。


按照初步设想,Mr.骇客将分为笔记、播客、工具三大板块,后续会增加讨论区、AI绘画模型等领域。


笔记:记录自己的日常工作生活中接触的问题、解决方案及心得体会,包括但不限于互联网领域。


播客:对于程序员来说,播客也是一种传播技术、分享经验和建立个人品牌的有力工具。暂时精力有限,会转载喜马拉雅、网易云、荔枝一些比较优质的播客内容,后续也会开通自己的播客平台。


工具:会收集一些热门但不方便下载的工具供小伙伴下载使用。


Mr.Hacker布局如下:

采用 GeneratePress 主题外观,最上面是页眉是logo和菜单,正中部分是播客内容,右边侧上中下分别是介绍、最新文章列表和友情链接。

image.png


关于logo,网上也有很多AI快速生成logo的app,感觉我这个自动生成的还不赖,挺符合Mr.Hacker的博客精神。

image.png


关于文章分类,先按照下面的类别区别,后期文章多了再去调整。

image.png


以上就是Mr.Hacker的一些简单介绍,其中里面还有更多的玩法,比如字体设置大小、SEO优化等,更多新鲜玩法还需要慢慢探索。


05.一些心得

因为有了阿里云的个人博客搭建教程,让我真正地有勇气开始去实践,在教程的引导下一步步走下去,遇到问题去思考如何解决,同时举一反三,这从中学到的东西更多,而这些解决问题的经验才是最宝贵的。技术不是遥不可及的领域,只要有足够的耐心和恒心,就能够逐步掌握并应用


部署搭建成功只是万里长征的开始,而后期的页面美化、性能优化、安全策略、内容运营等才是个人博客的持续运营的重中之重。


服务器选型

本次搭建采用的是 共享标准型 ecs.s6-c1m2.small ,刚开始博客访问的流量不大,这个配置是完全可以满足的,费用一个月也就50元不到(每个地域可能不同,具体参考ECS最新价格)。后面流量大了,访问人数多了,可以直接通过ECS控制台扩容,非常方便,帮助节省了很多服务器运维压力。


关于数据库,我的建议是如果你购买ECS服务器CPU、内存足够大,比如规格在4C16G以上并且熟悉数据库的基础运维,可以尝试本地部署Mysql。相反,如果服务器规格有限,同时不想花费太多数据库运维时间,可以直接使用云数据库。


部署安装

据库,整个部署其实并不难,跟着教程基本都可以完成,需要注意的是,教程中使用的版本都是比较老的,如果想体验最新的版本,在安装前,一定要注意版本兼容问题,比如WordPress6.3版对应的系统要求:


image.png

域名及证书

上文也提到过,搭建博客之前,可以提前申请域名,因为备案需要7-10个工作日,所以尽量提前申请。另外无论是从安全还是SEO方面,建议开启HTTS,需要购买SSL证书。


主题

WordPress提供了很多主题,每个主题都有自己的特性和风格,可以根据的自己的喜好和博客风格选择合适的,另外,不要安装太多,选择1款主题即可,而且主题也不需要经常换,容易影响性能和使用体验


插件

插件是一个能够帮助博客更容易和更有效率运作的工具。插件可以提供使博客网站和其他服务之间进行集成,以及有助于强化网站内容和行为的功能。它们可以为你的网站添加扩展功能,让你可以更加高效地创建、维护和管理博客网站。


一些常用的插件,比如Yoast SEO、Akismet、Google Analytics、WPForms,具体用途可以详细去了解下。


学习

在信息爆炸时代,获取知识是非常便利的,网上有太多的教程可以参考学习,但官网 cn.wordpress.org 依然是学习的最佳途径。博客搭建不仅仅是一个项目完成,更是一个持续学习的过程。


” 读万卷书不如行万里路,行万里路不如阅人无数“ !!!


06.附录资料

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
18天前
|
关系型数据库 MySQL 索引
mysql 分析5语句的优化--索引添加删除
mysql 分析5语句的优化--索引添加删除
14 0
|
24天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
24天前
|
存储 SQL 关系型数据库
轻松入门MySQL:加速进销存!利用MySQL存储过程轻松优化每日销售统计(15)
轻松入门MySQL:加速进销存!利用MySQL存储过程轻松优化每日销售统计(15)
|
24天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:优化进销存管理,掌握MySQL索引,提升系统效率(11)
轻松入门MySQL:优化进销存管理,掌握MySQL索引,提升系统效率(11)
|
1月前
|
SQL 监控 关系型数据库
MySQL性能调优:监控和优化
MySQL性能调优:监控和优化
57 1
|
26天前
|
存储 SQL 关系型数据库
mysql优化一
mysql优化一
17 0
|
18天前
|
SQL 缓存 关系型数据库
mysql性能优化-慢查询分析、优化索引和配置
mysql性能优化-慢查询分析、优化索引和配置
83 1
|
24天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
24天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
24天前
|
缓存 关系型数据库 MySQL
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)