使用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…...

如何正确的写出第一个java程序:hello java
1 前言 最近公司由于项目需要,开始撸java代码了。学习一门新的编程语言,刚开始总是要踩很多坑,所以记录一下学习过程,也希望对java初学者有所帮助。 2 hello java 2.1 程序源码 程序内容十分简单,这里就不再过多赘…...

使用llvm 编译最新的linux 内核(LoongArch)
1. 准备交叉工具链 llvm 使用了最新的llvm-17, 编译方法见:编译LoongArch的llvm交叉工具链 gcc 从linux 官方下载:http://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/13.2.0/x86_64-gcc-13.2.0-nolibc-loongarch64-linux.tar.xz 发布llvm和g…...

Using Multiple RDF Knowledge Graphs for Enriching ChatGPT Responses
本文是LLM系列文章,针对《Using Multiple RDF Knowledge Graphs for Enriching ChatGPT Responses》的翻译。 使用多个RDF知识图来丰富ChatGPT响应 摘要1 引言2 相关工作3 GPT-LODS的过程和用例4 结束语 摘要 最近有一种趋势是使用新型人工智能聊天GPT聊天箱&…...

【Hive-小文件合并】Hive外部分区表利用Insert overwrite的暴力方式进行小文件合并
这里我们直接用实例来讲解,Hive外部分区表有单分区多分区的不同情况,这里我们针对不同情况进行不同的方式处理。 利用overwrite合并单独日期的小文件 1、单分区 # 开启此表达式:(sample_date)?. set hive.support.quoted.identifiersnon…...

位运算 |(按位或) (按位与) ^(按位异或)
目录 文章目录:本章讲解的主要是刷题系列 1:首先会介绍 I & ^这三个操作符的作用,性质 2:三道使用位运算操作符的经典 笔试题(来自剑指offer) 题目链接如下: 1:136. 只出现一次的数字 - 力扣(LeetCode…...

Qt应用开发(基础篇)——复选按钮 QCheckBox 单选按钮 QRadioButton
一、前言 QCheckBox类与QRadioButton类继承于QAbstractButton,QCheckBox是一个带有文本标签的复选框,QRadioButton是一个带有文本标签的单选按钮。 按钮基类 QAbstractButton QCheckBox QCheckBox复选框是一个很常用的控件,拥有开关(选中和未…...

AERMOD模型大气环境影响评价
随着我国经济快速发展,我国面临着日益严重的大气污染问题。近年来,严重的大气污染问题已经明显影响国计民生,引起政府、学界和人们越来越多的关注。大气污染是工农业生产、生活、交通、城市化等方面人为活动的综合结果,同时气象因…...

递归组装树结构的数据
开发中,经常遇到存在树形结构的数据,如行政区划这类数据,一级一级分层,后端需要组装好树形结构数据返回给前端。 由于返给前端的json数据中,如果是叶子节点了,说明它没有子节点,那么就没必要返…...

企业架构LNMP学习笔记7
PHP介绍: HTML:超文本标记语言 http: 超文本传输协议 端口80 浏览器将html代码解析成web页面。 PHP:超文本预处理器。后端语言开发,页面上需要动态改变修改的,需要连接数据库查询数据,转为html。 主要…...

开店星小程序上架教程和后台Request failed with status code 500[undefined]问题处理
开店星小程序上架教程和后台Request failed with status code 500[undefined]问题处理 刚刚安装好开店星网站后台之后都会出现这个code 500[undefined]的错误,需要改一下代码。改好了之后就可以正常使用了。如果大家不懂得这样处理的可以私聊我,帮忙处理…...