没错,距离我初次搭建博客不到 3 个月的现在,我又开始折腾了。
初次搭建博客时,无意中(看颜值)选择了hexo框架的matery主题,服务器直接采用 GitHub 的免费仓库,绑定了自己的域名。奈何 GitHub 的访问速度过于蜗牛,实在不能忍,同时我最近又频繁被「云服务器」诱惑,最终,迎来了这次的博客 2.0 时代。
博客 2.0 更新说明
-
博客服务器从 GitHub Pages 更换为阿里云服务器。
-
内容上增加了hexo-douban插件,在/books和/movies页面可以显示我的豆瓣数据。
新博客搭建过程
购买并配置云服务器
谁不想拥有一台自己的云服务器呢?在被知乎问题自己拥有一台服务器可以做哪些很酷的事情?洗脑之后,我终于购买了自己的第一台云服务器。
因为之前购买域名是在阿里云买的,所以这次的服务器依旧是选择了阿里云,学生机一年 100 多一点。
我选择的是 ECS 中的 CentOS 版本。
购买后进入控制台,按照说明文档对服务器进行配置,由于我对这方面完全不了解,说明文档看不懂,折腾了好久。
创建 ECS 实例
购买后实例就已经创建了,只需要设置一下实例的名称,以及登陆密码。
设置安全组
在创建 ECS 实例之后,你就能在该实例的信息中找到它的公网 ip 地址了,这个主机地址有很多端口,设置安全组的意思就是提前设置好哪些端口可以进,哪些端口可以出。
我现在设置的安全组规则:
入方向,8888、22、2289、8080、443、80,这里可以使用页面右上角的快速创建功能。
SSH 工具访问
我还不太懂 SSH 密钥访问的方式,但在创建 ECS 实例时我设置了用户名 root 和对应的密码。这样我就可以在任何一个 SSH 工具上直接访问我的远程服务器。
iOS、macOS、Windows、Android 上都有类似的 SSH 工具,这里我打开 macOS 的终端,输入:ssh root@ip
root 是我的用户名,ip 是相应的地址。
接下来输入密码,就会看到:
Welcome to Alibaba Cloud Elastic Compute Service !
这样就成功进入了这个 CentOS 系统了。
这是一个没有安装图形界面(我猜也没必要,或者安装了你也无法远程看到)的纯净的系统,如果你对 Linux 命令行不熟悉,那我推荐你安装一个宝塔面板。
宝塔面板的安装
在你的云服务器中安装宝塔面板后,就可以直接在 web 端进行 SSH 连接、安装软件、以图形界面管理文件、方便地上传下载文件……
具体安装方法见宝塔安装文档。
大概是需要远程 SSH 连接服务器后,安装一系列工具,记住宝塔面板的地址、账号、密码。
之后打开上面生成的地址,进入宝塔面板,按照提示,选择一键安装宝塔提供的软件服务。(后续需要使用其中的 nginx 工具)
本地 hexo 安装
就是在自己的电脑上安装 hexo 工具,生成一个 blog 文件夹,前提是安装过 git、node.js 等等工具,这里可以看我之前的文章。
云服务器的 git 配置
参考:swiftyper
安装 git
yum -y install git
选择一个合适的位置,创建 git 仓库
git init --bare blog.git
在 blog.git/hooks
文件夹中新建一个 post-receive
文件,并在该文件中填入
#!/bin/bash
git --work-tree=/home/mylinux/blog --git-dir=/home/git/blog.git checkout -f
这里面的 /home/mylinux/blog
是你想要部署的文件夹,目前是空的,/home/git/blog/git
是上一步中新建的 git 仓库。
最后,设置该文件的权限:
chmod +x post-receive
这样,远程服务器端已经准备好了。
回到本地
将 hexo 根目录中的 \_config.yml
文件的最下方设置成这样:
deploy
type: git
repo: username@ip:/home/git/blog.git
branch: master
username
是你的云服务器系统的 root 账号,ip 是 ipv4 的公网 ip,/home/git/blog/git
是云服务器中创建的 git 仓库的地址,此处不需要添加端口(我也不知道为啥)
最后
感谢大佬小游。
看了他的回答,我才下定决心买了自己的服务器。
接下来,我也要继续沿着大佬的脚步,图床、网盘、电子书库等等……
从直接使用别人的模板,然后慢慢地开始魔改模板,到最后自己创作模板,我的前端之旅还很遥远呢!