使用ECS和RDS部署WordPress,搭建个人博客并使用域名访问
目录
一、准备工作
1、准备ECS服务器
2、创建数据库账号和密码
二、部署环境
1、远程连接
2、安装Apache服务
3、部署WordPress
三、对博客的优化并使用域名访问
1、博客的设计优化
1.1 插件的使用
1.2 博客的设计介绍
2、使用域名访问
四、个人博客部署的心得
1、选择合适的实例和规格
2、配置安全组和网络设置
3、安装WordPress和数据库连接
4、配置域名和SSL证书
5、安全和备份策略
6、优化和性能调整
7、学习和持续改进
大家好,收到阿里云社区邀请,今天带来的是使用ECS和RDS部署WordPress,搭建个人博客并使用域名访问!
首先,看一下博客图片;
地址:http://120.27.128.213
域名地址:http://lingxw.ink
在介绍部署WordPress之前,我用过Hexo搭建过简易的个人博客,如下图:
博客链接:https://lingxw123.gitee.io
【0成本搭建个人博客】——Hexo+Node.js+Gitee Pages_Lingxw_w的博客-CSDN博客
这是通过Hexo+Node.js+Gitee Pages来完成个人博客的部署,这种方式的博客通过上传到Git,上传博客的方式也很简单。
下面通过尝试ECS和RDS来部署WordPress搭建个人博客并使用域名访问。
一、准备工作
1、准备ECS服务器
首次开通ECS云服务器,需要重置云服务器ECS密码。
重置密码后,必须重启ECS实例,重置的密码才会生效。
接着,我们开始配置安全组:
由于需要使用Apache服务,默认监听80端口,需在ECS实例安全组的入方向添加安全组规则并放行80端口。
点击左侧【安全组】,点击【安全组名称】或右侧【配置规则】,进入规则配置页面。
在入方向【手动添加】访问规则。
2、创建数据库账号和密码
在 实例列表页 选择目标实例,在实例右侧操作列,单击管理,进入RDS实例详情页。
进行创建账号;
在实例详情页,单击左侧导航栏的 数据库管理 ,然后单击 创建数据库 。
使用刚刚的账号进行创建;
设置RDS实例白名单。单击左侧导航栏的 白名单与安全组,在白名单设置中点击修改。输入刚刚的ECS服务器的IP。
二、部署环境
1、远程连接
首先,通过远程登陆;我这里是使用软件登陆的,也可以通过Workbench远程连接。
都是一样的。
2、安装Apache服务
在ECS服务器上,执行以下命令,安装Apache服务及其扩展包。
执行以下命令,启动Apache服务并设置服务开机自启动。
打开浏览器输入ECS服务器的公网IP,如果显示如下图的测试页面表示Apache服务安装成功。
3、部署WordPress
在部署之前我先安装了Nginx;
WordPress是使用PHP语言开发的博客平台。参考以下操作安装PHP。
执行以下命令:
yum -y install php-fpm php-gd php-mysqlnd php
echo "<?php phpinfo(); ?>" > /var/www/html/ph
systemctl restart httpd
安装成功的界面:
记得删除phpinfo.php测试文件,消除数据泄露风险。
下面是安装和配置WordPress;
先安装 wordpress 安装包并解压到 /home/wwwroot
wget https://cn.wordpress.org/latest-zh_CN.zip && unzip latest-zh_CN.zip -d /home/wwwroot
如果不用RDS,可以安装登录本地MySQL并创建wordpress数据库:
$ mysql -u root -p
Enter password:
MySQL > create database wordpress;
修改配置后验证Niginx;
打开http://ip/wp-admin/setup-config.php 可以看到这个界面;
现在开始!
这里我们打开RDS数据库,RDS数据库的外网连接地址可以在【RDS管理控制台-实例详情-数据库链接】查看,如下图。创建外网连接。创建完记得刷新!
此时,就可以连接数据库了;
下面就是著名的WordPress五分钟安装程序!简单地填写下面的表单,来开始使用这个世界上最具扩展性、最强大的个人信息发布平台。
点击安装成功;
进入ip/wp-login.php 来进行登陆;
登陆后的界面;
我们首先尝试已经有的主题;
点击启用;
接着访问自己的IP;
这里也可以安装LNMP:http://t.csdn.cn/m8fX6
三、对博客的优化并使用域名访问
我使用的是开源的Sakura主题;
1、博客的设计优化
1.1 插件的使用
我并不推荐大家使用WordPress自带的编辑器,不太好用,WordPress自带的有代码块这个功能但是不会高亮,如果我们选择的主题中有代码块高亮这个功能,使用WordPress代码块会导致,主题的代码语法高亮无法正确识别我们代码的类型。
我们用Markdown来代替WordPress的编辑器。
- WP Githuber MD
- Post Views Counter安装了一个统计阅读量的插件
-
Simple Custom CSS 可以自定义CSS代码
在这里简要介绍三个插件, wordpress的插件很多,大家可以自己体验一下。1.2 博客的设计介绍
-
随机封面图
每次刷新都会是新的图片的封面;
-
个人社交网站的模块;
添加了个人的微信、qq、邮箱等信息; -
三个专栏的介绍
包括数据挖掘专栏,机器学习专栏,复杂网络的专栏,后面再逐步完善。 -
个人介绍的界面;
-
Lazyload;
使用了开源库jQuery-Lazyload,按需加载图片,优先加载缩略图或占位图,当图片显示在viewport 上时才加载原图,提升网页加载速度。 -
进度轴;
-
前端主题切换;
可以通过右下角的按钮切换前端主题。 -
评论插图;
-
评论支持 Bilibili 表情;
-
定制登陆及后台界面
2、使用域名访问
下面我们尝试用域名来访问博客;
首先我们得去买一个阿里云域名 https://wanwang.aliyun.com/?spm=5176.28055625.J_4VYgf18xNlTAyFFbOuOQe.146.240b154ajfcIV9;
选择自己需要购买的域名;阿里云的很便宜,我是之前买的一年才几十块钱。
我这里选择购买的是.ink;
地址:Lingxw_w_Blog
买完之后需要进行阿里云域名解析,根据提示去添加 DNS解析规则。
我这里因为还在备案中,完成之后就可以通过域名访问自己的个人博客了。
四、个人博客部署的心得
1、选择合适的实例和规格
在开始之前,我花了一些时间研究了不同的ECS实例和RDS数据库实例。根据我的需求,我选择了一款适中的ECS实例,以保证博客的性能和稳定性。这里选择试用的版本就够用了,对于RDS,我选择了MySQL数据库引擎,因为它被广泛用于WordPress等应用,并且有很好的社区支持。这里就要强调一下RDS的优势了,我只能说非常好用,因为如果本地部署MYsql的话,会遇到一些Mysql连接的问题,很麻烦,而且如果你买数据库的话,还可以练一下SQL语句,做一个SQL Boy。
2、配置安全组和网络设置
在部署ECS和RDS时,确保正确配置了安全组和网络设置。这一步骤至关重要,以确保服务器和数据库的安全。我设置了适当的入口规则,只允许必要的端口对外开放,同时限制了IP访问范围,以防止未经授权的访问。这里举个例子,比如3306端口和80端口,如果不设置,就会在连接时出现问题。
3、安装WordPress和数据库连接
一旦服务器和数据库都准备就绪,我开始了WordPress的安装。通过SSH远程连接到ECS实例,我使用了一些基本的Linux命令来安装所需的软件和依赖。我是使用的国产软件Finlshell,非常好用。然后,我在RDS上创建了一个新的数据库,并在WordPress配置文件中添加了正确的数据库连接信息。
4、配置域名和SSL证书
为了让博客更专业,我购买了一个域名,并通过阿里云的域名服务进行了配置。同时,我也为博客启用了SSL证书,以确保访问安全加密。这样不仅可以提升用户信任度,还有助于SEO优化。这里备案的时间有些长,可能是周末的原因,工作日才审核。
5、安全和备份策略
安全始终是首要任务。我定期更新操作系统和软件,确保及时修补安全漏洞。此外,我设置了定期自动备份,以防止数据丢失。这对于长期维护博客至关重要。对了,可以安装防止攻击的WordPress插件,来保证博客和个人信息不被攻击。
6、优化和性能调整
在博客搭建完成后,我使用了一些优化技巧来提升性能。我安装了缓存插件,压缩了图像,并使用了CDN(内容分发网络)来加速页面加载。这些举措不仅提升了用户体验,还有助于SEO排名。
7、学习和持续改进
在整个搭建过程中,我不断学习新知识,解决各种问题。遇到困难时,我阅读了阿里云的文档和在线论坛,也向朋友请教。持续学习和改进是保持博客健康的关键。就像博客的主页的第一句,人生不是轨道,而是无边的旷野。继续加油吧!
总的来说,通过使用阿里云的ECS和RDS,我成功地搭建了个人博客,积累了宝贵的经验。这个过程不仅让我更加了解了云计算和服务器管理,还提升了我解决问题的能力。我将继续努力改进博客,分享我的思考和经验,希望能够对其他人有所帮助。如果你也想搭建自己的博客,我鼓励你积极尝试并不断学习,相信你也会有类似的收获。人生不是轨道,而是无边的旷野。继续加油吧!
相关文章:

使用ECS和RDS部署WordPress,搭建个人博客并使用域名访问
目录 一、准备工作 1、准备ECS服务器 2、创建数据库账号和密码 二、部署环境 1、远程连接 2、安装Apache服务 3、部署WordPress 三、对博客的优化并使用域名访问 1、博客的设计优化 1.1 插件的使用 1.2 博客的设计介绍 2、使用域名访问 四、个人博客部署的心得 1…...

C# Winform 简单排期实现(DevExpress TreeList)
排期的需求在很多任务安排的系统中都有相应的需求,原生的Winform控件并未提供相应的控件,一般都是利用DataGridViewTreeView组合完成相应的需求,实现起来比较麻烦。用过DevExpress控件集的开发者应该知道,DevExpress WinForm提供了…...
2023高教社杯国赛数学建模C题思路+模型+代码(9.7晚开赛后第一时间更新)
目录 1.C题思路模型:9.7晚上比赛开始后,第一时间更新,获取见文末名片 2.竞赛注意事项:包括比赛流程,任务分配,时间把控,论文润色,已经发布在文末名片中 3.常用国赛数学建模算法 …...

QT6中添加串口模块SerialPort最简单方法
qt6.2.3以上版本已经开始支持SerialPort包了,不用在傻傻的自己去编译包了。 在安装的时候勾选SerialPort即可。 等着安装完即可。 如果已经安装完了的小伙伴,可以用 从新打开维护 选择增加或者删除组件 即可从新选择组件...

LeetCode每日一题:1123. 最深叶节点的最近公共祖先(2023.9.6 C++)
目录 1123. 最深叶节点的最近公共祖先 题目描述: 实现代码与解析: dfs 原理思路: 1123. 最深叶节点的最近公共祖先 题目描述: 给你一个有根节点 root 的二叉树,返回它 最深的叶节点的最近公共祖先 。 回想一下&…...
Oracle查看锁表和正在执行的Sql
查看当前被锁的表(需要有管理员权限): --查看锁表进程SQL语句1: select sess.sid,sess.serial#,lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_modefrom v$locked_object lo, dba_objects ao, v$session sesswh…...
Linux centos 卸载 ceph
在CentOS上卸载Ceph的操作步骤: 1. 停止Ceph集群:首先,你需要停止Ceph集群中的所有服务。在每个节点上运行以下命令来停止所有服务 systemctl stop ceph.target 2. 卸载Ceph软件包:在每个节点上,使用yum包管理器卸载C…...
ElementUI浅尝辄止34:Radio 单选框
在一组备选项中进行单选 1.如何使用? 由于选项默认可见,不宜过多,若选项过多,建议使用 Select 选择器。 //要使用 Radio 组件,只需要设置v-model绑定变量,选中意味着变量的值为相应 Radio label属性的值&…...

开始MySQL之路——MySQL三大日志(binlog、redo log和undo log)概述详解
前言 MySQL实现事务、崩溃恢复、集群的主从复制,底层都离不开日志,所以日志是MySQL的精华所在。只有了解MySQL日志,才算是彻底搞懂MySQL。 日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包…...
router基础使用
1.安装router npm i vue-router3 安装后 2.写出路由界面 接着 3.配置路由 import Vue from vue import VueRouter from vue-router import Home from "../views/Home.vue" import About from "../views/About.vue" Vue.use(VueRouter)const routes …...

亚马逊云科技人工智能内容审核服务:大大降低生成不安全内容的风险
生成式人工智能技术发展日新月异,现在已经能够根据文本输入生成文本和图像。Stable Diffusion是一种文本转图像模型,可以创建栩栩如生的图像应用。通过Amazon SageMaker JumpStart,使用Stable Diffusion模型轻松地从文本生成图像。 尽管生成式…...

2023年高教社杯数学建模思路 - 案例:最短时间生产计划安排
文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型 2.3 相关代码2.4 模型求解结果 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 最短时…...
算法工程题(二叉树递归)
* 题意说明: * 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 * 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 * * 示例 1: * 输入:p [1,2,3]…...

“指针跃动”受邀参加全球贸易服务峰会
“指针跃动”受邀参加全球贸易服务峰会 有“服”同享 共赢未来 引子 在全球化日益盛行的今天,贸易不再仅仅是物质的交流,更涉及到服务、理念、文化和科技的共享。中国国际服务贸易交易会全球贸易服务峰会,就是这个趋势的集中体现。在这次峰会…...
Go Web开发的高级技巧和最佳实践
Go Web开发的高级技巧和最佳实践 欢迎来到Go语言Web开发的高级技巧和最佳实践指南。在这篇文章中,我们将深入探讨Go语言Web应用程序的高级主题,包括性能优化、安全性、部署和微服务架构。 性能优化 性能是Web应用程序的关键因素之一。Go语言以其出色的…...

Verilog 基础知识
1、数值种类 Verilog HDL 有下列四种基本的值来表示硬件电路中的电平逻辑: 0:逻辑 0 或 “假”1:逻辑 1 或 “真”x 或 X:未知 x 意味着信号数值的不确定,即在实际电路里,信号可能为 1,也可能…...

element ui 表格组件与分页组件的二次封装
目录 组件封装 parseTime函数 debounce 函数 页面使用 【扩展】vue 函数式组件 函数式组件特点: 函数式组件的优点: 【扩展】vue中的render函数 一、初步认识render函数 二、为什么使用render函数 三、render函数的解析 组件封装 这段代码是一…...

递归算法学习——有效的数独,解数独
一,有效的数独 1.题意 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#x…...

基于Alexnet深度学习网络的人员口罩识别算法matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 file_path1 test\mask\;% 图像文件夹路径 %获取测试图像文件夹下所有jpg格式的图像文件…...
【Java Web】利用Spring整合Redis,配置RedisTemplate
1. 在config中加入RedisConfig配置类 package com.nowcoder.community.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFacto…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...