个人博客搭建流程

个人博客搭建流程


个人网页搭建流程

gitee仓库链接:https://gitee.com/kidwjb/studyNotes/tree/master/%E5%89%8D%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91

前期准备

公网服务器搭建

我选择使用的是阿里云的ESC轻量云服务器,用于平时的个人博客搭建戳戳有余,并且阿里云服务器可以新用户免费试用一两个月,然后学生认证后还可以领取300元的券,再次白嫖一年,笔者已经成功白嫖了一年多的时间

Snipaste_2025-12-16_17-33-16.png
Snipaste_2025-12-16_17-33-56.png

网站管理

关于网站的维护管理,我选择使用宝塔面板,提供可视化界面以及快速配置网页,对于宝塔面板的使用可自行查阅相关资料

Snipaste_2025-12-16_17-47-06.png

阿里云云服务器在创建时就可以选择下载带有宝塔面板的选项,也可以创建干净的服务器自己下载,可以在云服务器终端上输入bt命令进行宝塔面板相关配置

“`

kidwjb@iZ2vcf7jiom6zlfj9x99msZ:~/my-blog$ sudo bt[sudo] password for kidwjb:Sorry, try again.[sudo] password for kidwjb:==================================宝塔面板命令行====================================(1) 重启面板服务                  (8) 改面板端口                                   |(2) 停止面板服务                  (9) 清除面板缓存                                 |(3) 启动面板服务                  (10) 清除登录限制                                |(4) 重载面板服务                  (11) 设置是否开启IP + User-Agent验证             |(5) 修改面板密码                  (12) 取消域名绑定限制                            |(6) 修改面板用户名                (13) 取消IP访问限制                              |(7) 强制修改MySQL密码             (14) 查看面板默认信息                            |(22) 显示面板错误日志             (15) 清理系统垃圾                                |(23) 关闭BasicAuth认证            (16) 修复面板(检查错误并更新面板文件到最新版)    |(24) 关闭动态口令认证             (17) 设置日志切割是否压缩                        |(25) 设置是否保存文件历史副本     (18) 设置是否自动备份面板                        |(26) 关闭面板ssl                  (19) 关闭面板登录地区限制                        |(28) 修改面板安全入口             (29) 取消访问设备验证                            |(30) 取消访问UA验证               (32) 开启/关闭【80、443】端口访问面板            |(0) 取消                                                                           |====================================================================================请输入命令编号:
```

输入命令14可以查看如何登录到宝塔web界面,输入命令5可以修改密码

初次进入宝塔会推荐一键部署一些网站部署相关的工具,根据自己的喜好选择即可,并且不需要后续可以在软件商店等地方卸载

在宝塔面板web界面,选择网站选项,可以根据不同的架构添加自己的网站,我选择最基础的HTML搭建一个静态网页先,根据弹窗输入自己的工程名,IP以及域名等,然后创建成功就能访问自己搭建的网页了

Snipaste_2025-12-16_17-53-15.png
96db2cdff79744ec3433480e27f487e8deb9005b.png

现在我们就有一个公网IP服务器以及部署网页的能力了,但是想要一个比较完善的博客网站,肯定不能使用HTTP和IP裸奔,于是我们需要一个帅气的域名和SSL证书应以支持HTTPS

HTTPS支持

参考链接:阿里云服务器购买、域名注册、备案和域名绑定全流程指南,图文教程参考-阿里云开发者社区

首先我们要获取一个域名,关于域名这里有点小tips贴上:

域名本质上是指向服务器的 IP 地址的,也就是说,域名解析到的是服务器本身(更准确地说,是服务器的某个网络接口的公网 IP)。域名本身不需要 HTTPS 就能使用,但是否使用 HTTPS 取决于你提供的服务类型和用户访问方式

  • 域名的作用是把人类可读的名字(如 example.com)转换成 IP 地址(如 123.123.123.123)。
  • 这个过程叫 DNS 解析,和 HTTPS 无关。
  • 所以:没有 HTTPS,域名照样能解析、能用

获取域名

这里使用阿里云平台上购买域名为例,进入域名与网站,可以直接点击查询自己想要的域名,然后系统会显示出域名是否注册,以及其他域名的价钱

Snipaste_2025-12-16_18-49-34.png

不过似乎网页上的域名有点偏贵,本人实际在手机阿里云APP上搜索域名与网站,在其中有许多优惠活动,在上面基本上可以算是白嫖一个域名,比如笔者的博客网站kidwjb.top,不过域名都是有时限的,到期了就会回收

添加域名解析

在购买到自己的域名之后,就可以在管理页面看到自己的域名

Snipaste_2025-12-16_18-54-01.png

我们点击其中的解析选项,便会跳转到域名解析界面,点击添加记录,然后在表单中输入IP,以及类地址,可以根据笔者的配置输入

如主机记录为A,记录类型为@

Snipaste_2025-12-16_18-56-02.png

添加域名解析成功后,就可以访问域名查看是否为自己创建的网页

获取证书

这里笔者选择获取SSL证书,阿里云为个人提供免费的个人测试证书,这样就可以不用花钱去买一个了

进入数字证书管理服务,点击个人测试证书,再点击未部署

Snipaste_2025-12-17_09-32-27.png

进入即可点击购买证书,一个账户一年可以买一次,我的账号已经买过了,在购买证书中填写你自己的域名

Snipaste_2025-12-17_09-33-36.png
Snipaste_2025-12-17_09-33-50.png

购买成功之后就可以在SSL证书管理看到自己的证书了

Snipaste_2025-12-17_09-42-37.png

部署证书

关于证书的部署,有两种方式

  1. 使用阿里云平台部署,就如上图中点击右侧的部署按钮
  2. 在宝塔面板上部署

笔者选择在宝塔面板上部署,因为在宝塔面板上部署只需要复制粘贴就好了,详细的可以查看链接关于宝塔上部署证书的说明 – Linux面板 – 宝塔面板论坛

Snipaste_2025-12-17_10-02-11.png

在这里分别输入证书pem和自己的私钥,即可完成部署操作

域名备案

由于证书是绑定域名的,而HTTPS想要公网使用域名那么就需要进行域名备案,否则就会出现下面警察叔叔拦截的尴尬

Snipaste_2025-12-17_10-04-48.png

我们可以使用阿里云备案系统快捷备案,

Snipaste_2025-12-17_10-06-02.png

我的域名当前已经在备案流程中了,并且备案也就是跟着流程填写个人信息等,这里就不赘述了

Snipaste_2025-12-17_10-06-50.png

公安备案

在域名备案完成后,还需要进行最后的公安备案

域名备案完成后会收到邮箱,其中主要内容如下:

请登录阿里云ICP备案系统查看您的互联网信息服务备案号:

根据上述前往填写备案即可

网站初建(自己开发前后端)

由于笔者并不是专业的前后端技术人员,也没有系统学习过前后端知识,所以对于前后端架构知之甚少,如有错误请大家谅解并及时帮忙指出😊

网站架构

由于之前做的项目用到过网页,当时使用的是nodejs,所以对这块熟悉一丢丢,对于个人博客网站也准备使用nodejs架构。

但是我们的云服务器肯定不能只是拿来做一个博客网站吧,或许未来有更多不同网站部署需求,那么这样的话直接使用域名主体当作一个网站入口就感觉有点不太对,笔者于是想要把博客网站单独用一个路径作为网站入口,例如笔者博客:kidwjb.top/blogs

但是由于只有宝塔部署网页然后后端编写js文件的经验,于是我想把前端网页就放在宝塔上代理,然后后端Node.js 托管 /blogs,但是和AI沟通一番后觉得有些麻烦,最后采用AI建议全部由Node.js托管/blogs,而我的顶端网页kidwjb.top仍然放在宝塔上代理

于是整体架构大致如下:

  • 宝塔创建一个80端口网站kidwjb.top
  • 修改宝塔面板上的Nginx配置,加上location /blogs 代理,通过本地回环到Node.js后端服务
路径由谁提供说明
http://IP/(或 https://IP/宝塔面板管理的静态网站文件在 /www/wwwroot/blogs/(或其他目录),由 Nginx 直接托管
http://IP/blogs(或 https://IP/blogs你自己的 Node.js 服务运行在 127.0.0.1:3001,通过 Nginx 反向代理接入

🔁 用户访问 /blogs 时,Nginx 把请求转发给你的 Node.js,但用户不知道背后是 Node.js,只看到干净的 URL。

大致流程

  1. 创建博客项目mkdir -p ~/my-blog/{public}cd ~/my-blog
  2. 初始化项目npm init -ynpm install express
  3. 编写后端服务server.js“`// ~/my-blog/server.jsconst express = require(‘express’);const path = require(‘path’);const app = express();const PORT = 3001; // 博客专用端口,避免冲突​// 静态资源:托管前端文件(HTML/CSS/JS)app.use(express.static(path.join(__dirname, ‘public’)));​// 示例 API(后续可扩展)app.get(‘/api/hello’, (req, res) => {  res.json({ message: ‘Hello from your blog backend!’ });});​// SPA 支持:所有未匹配路径返回 index.html(支持 Vue/React 前端路由)app.get(‘*’, (req, res) => {  res.sendFile(path.join(__dirname, ‘public’, ‘index.html’));});​// 启动服务(只监听本地,安全!)app.listen(PORT, '127.0.0.1', () => {  console.log(✅ 博客服务已启动: http://127.0.0.1:${PORT});});
  4. 创建前端文件 public/index.html<!-- ~/my-blog/public/index.html --><!DOCTYPE html><html><head> <meta charset="utf-8"> <title>我的博客</title></head><body> <h1>🎉 欢迎来到我的动态博客!</h1> <p>本页面由 Node.js 后端提供,路径为 <code>/blogs</code></p> <button id="fetchBtn">获取 API 数据</button> <pre id="output"></pre>​ <script>   document.getElementById('fetchBtn').onclick = async () => {     const res = await fetch('/blogs/api/hello');     const data = await res.json();     document.getElementById('output').textContent = JSON.stringify(data, null, 2);   }; </script></body></html>
  5. 找到宝塔生成的配置文件sudo ls /www/server/panel/vhost/nginx/# 找到对应你站点的 .conf 文件,比如:# blogs.conf 或 IP.conf编辑配置文件,在 server { ... } 块内 添加以下内容(放在 location / 之后)# 博客动态服务:代理 /blogs 到 Node.jslocation /blogs {   proxy_pass http://127.0.0.1:3001;   proxy_set_header Host $host;   proxy_set_header X-Real-IP $remote_addr;   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   proxy_set_header X-Forwarded-Proto $scheme;   proxy_http_version 1.1;   proxy_set_header Upgrade $http_upgrade;   proxy_set_header Connection 'upgrade';}这里让Node.js监听回环的3001端口
  6. 重载Nginx# 测试配置sudo /www/server/nginx/sbin/nginx -t​# 重载(不中断服务)sudo /www/server/nginx/sbin/nginx -s reload

这样我们的博客网站雏形就建立好了,后续无需再关心配置那些,直接进行网页开发就可以

网站初建(基于wordpress)

如果像笔者一样对于前后端不熟悉,是一个小白的话,那么推荐使用一些集成度高的工具进行网站开发,其中WordPress是一个非常热门的选择

对于WordPress的介绍大家可以自行查阅,这里直接给大家实操如何基于WordPress建立属于自己的博客网站

创建项目

首先我们在宝塔面板上点击网站,我们选择PHP项目,点击添加站点

屏幕截图 2025-12-20 190039

域名建议填写这两种都填写,然后数据库选择创建MySQL

注意:可能会存在数据库创建失败的情况,这时先取消建站,然后点击左侧数据库栏,点击root密码然后进行一次修改,然后再重复上述步骤就能够建立成功了

屏幕截图 2025-12-20 190850

安装WordPress

  • WordPress可以直接宝塔上部署,但是如果直接宝塔上面部署的话需要先清除当前建站,它会默认帮弄建立一个站点。
  • 除此以外,我们可以选择直接下载WordPress压缩包,然后在自己的网站上解压运行

这里我们选择使用手动安装方式,压缩包链接:http://kidwjb.top/wordpress-6.9-zh_CN.zip

下载到压缩包后上传到我们的网站项目根目录,然后点击解压

屏幕截图 2025-12-20 191414

解压完成后得到一个wordpress文件夹,把里面的东西全选全部剪切进根目录,注意一定是根目录

然后就会得到上图所示许多.php文件,这时候我们就手动部署好了

搭建wordpress网站

现在打开你绑定的域名,会出现下图界面。点击“现在就开始”

bt-wordpress10

然后在下一个界面输入对应的数据库名,数据库用户名和数据库密码,然后点击提交。数据库没错的话就会出现安装界面,点击现在安装

在安装之前还会要求设置站点标题、用户名、密码和邮箱信息。设置完毕后点击“安装WordPress”

安装完成就可以登陆了

设置Wordpress伪静态规则

宝塔面板给WordPress网站添加伪静态规则具体方法是:登录宝塔面板管理后台,点击“网站”,你要设置的网站点击“设置”,然后找到“伪静态”,选择WordPress,然后保存。

image-20251220192348418

登录Wordpress

在设置好上述步骤后,默认的,登录WordPress后台的地址是 你网址/wp-login.php 例如:https://域名/wp-login.php

如果配置好了伪静态规则,也可以直接通过 你网址/wp-admin 的方式访问,例如:https://域名/wp-admin即可进入Wordpress登录界面,输入设置的用户名密码即可进入Wordpress管理界面

image-20251220192817204

首先,右上角的显示选项可以打开,可以自己选择在默认后台显示哪些内容。以后插件装多了,这里可能会出现很多内容,看上去就很乱。

然后WordPress所有选项都在左边菜单栏了,下面是一些解释。

  • 仪表盘 — 理解成后台首页就行了
  • 更新 — 网站的插件或者主题有新版本,就会出现提示,类似你手机的软件更新提示。
  • 文章 — 跟文章相关的,第一次你需要设置分类目录
  • 媒体 — 就是你上传的一些图片啊文件什么的都在这里
  • 页面 — 和文章差不多,不过不会在网站首页更新文章里面出来,比如关于页面
  • 评论 — 就是评论、留言这些。
  • 外观 — 网站的别人看上去是什么样子的,就是这里设置,可以设置主题、小工具等
  • 插件 — 管理插件的地方,不同的插件可以让你WordPress实现不同的功能。
  • 用户 — 一般人的站都只有你一个用户,你可以在这里添加用户,也可以设置了允许用户注册,不过个人博客别人注册并没什么用处,除非你网站有商业化需求。
  • 工具 — 用的比较少,有些插件会把设置菜单添加到这里面。
  • 设置 — 顾名思义,就是设置你整个网站的一些内容

首次使用WordPress必要设置

首先是站点标题等,输入你的网站名称

image-20251220193153228

固定链接看个人需求,笔者比较懒选择设置为数字型

image-20251220193229669

阅读设置中可以选择主页如何显示,这里笔者就选择默认的,如果喜欢自己定义可以选择第二项

image-20251220193342804

文章写入

在左侧菜单栏点击文章,就可以查看自己当前的文章,并且点击写文章就可以进行文章编写

image-20251220193505846

主题选择

由于笔者也是才接触所以并没有设置什么主题,不过在GitHub下载了一个主题,也就是对应笔者当前博客的主题,GitHub链接:https://github.com/solstice23/argon-theme

结语

以上就是笔者的建站全过程了,剩下的大家可以自己摸索,建立一个属于自己风格的网站

上一篇
下一篇