在 CentOS 系统服务器上利用 Hexo 和 Nginx 搭建个人博客

本文介绍的是在云服务器系统 CentOS 上利用 Hexo 框架搭建自己的博客网站。不管你是不是小白,跟着教程走就对了,我也是这样过来的。我会讲的很详细,当然在部署过程中会有许多坑,我也会把注意点和解决方案列出。 My Blog 。

准备工作

云服务器

阿里云上的学生服务器有两款,轻量应用服务器和 ECS 服务器,价格都是 ¥9.50,我选择的是前者,服务器系统选择了 CentOS 7.3。

两者明显区别是:

  • 轻量应用服务器的带宽 5M,每月 1000G 流量,操作较简单,还多了多个集成的应用镜像;
  • ECS服务器的带宽 1M,流量无限,操作比较复杂,其它方面的配置基本相同。

如果仅作为博客的服务器,我认为前者较好,流量肯定够用,带宽又高一些。

个人域名

首先,域名不是必须的,有两种方案。

  1. 在阿里云上购买域名并进行备案。备案时间大概十几天。
  2. 利用 Github Pages 部署。

本文采用第一种方案,若想利用 Github Pages 部署,请参考其它教程。

注意:若域名未添加主机记录,域名前加上 www. 的前缀将无法访问。

具体操作:在阿里云中找到并打开 云解析 DNS 选择你的域名,点击 添加记录 ,记录类型一栏选择 A 类型,主机记录一栏填入 www ,解析线路选择 默认,记录值填你的服务器 公网IP 即可。

安装 Hexo 并初始化

安装

服务器需要先安装 Git 和 Node.js,然后安装 Hexo,安装请参照 Hexo 官方文档。

初始化

安装好 Hexo 后, 可继续参照 Hexo 官方文档 进行操作和学习。如果不想看文档,可进行以下操作:

新建站点目录

hexo init 
复制代码

注意: 为自定义的站点文件夹名称,比如可以写为 blog

生成静态文件

hexo generate
复制代码

注意:可简写为 hexo g

安装 npm

npm install
复制代码

新建完成后,指定文件夹的目录如下:

复制代码

. ├── _config.yml ├── package.json ├── scaffolds ├── source | ├── _drafts | └── _posts └── themes


### 启动服务器

```s
hexo server
复制代码

注意:可简写为 hexo s

验证

在浏览器中输入 http://<你的IP地址>:4000,即可看到第一次运行的状况,显示为一篇《Hello World》的文章,按 Ctrl+C 结束访问。

注意:服务器的 4000 端口需要开启,若未开启无法打开网站。 具体操作为:找到 安全 中的 防火墙,点击 添加规则,在 端口范围 一栏输入 4000,点击 确定 即可。 如果服务器绑定了域名,此时可以在浏览器中用域名访问。

安装并配置 Nginx

安装 Nginx 可以让网站随时都能访问,无需进行上述 hexo server 等操作。

安装 Nginx

yum install -y nginx
复制代码

启动 Nginx

systemctl start nginx
复制代码

上述步骤操作完成后,在浏览器中输入 http://<你的IP地址> 或你的网站域名,若看到 "Welcome to nginx on Fedora" 的页面,表示 Nginx 启动成功。

继续输入以下命令使Nginx开机自动启动:

systemctl enable nginx
复制代码

配置静态服务器访问路径

Nginx 需要配置静态资源的路径信息才能通过 url 正确访问到服务器上的静态资源,所以要将Nginx 的访问路径改为 Hexo 生成的静态资源的路径。

输入

vi /etc/nginx/nginx.conf
复制代码
  1. 如果不熟悉 Linux 操作,接下来按 i 对 Nginx 的配置文件内容进行修改。
  2. 将位于 42行root /usr/share/nginx/html 修改为:root /…/<你的文件夹名称>/public,比如我修改为 root /home/admin/blog/public
  3. 将位于 5行user 改为 root
  4. ESC,再按 :wq 保存退出。

重启 Nginx

nginx -s reload
复制代码

此时在浏览器中再输入 http://<你的IP地址> 或你的网站域名,若网站显示上文的 Hexo 第一次运行的样子,即显示为一篇《Hello World》的文章,则说明配置成功。

Hexo 配置

站点配置

参考 Hexo 官方文档 。

主题配置

Next 主题是 Hexo 的一个主题系列,我现在使用的 NexT.Gemini 就是其中之一。

基本使用配置参考 Next 官方文档 。

更多详细配置修改参考 Jaybo 。

如何写作可以参考 Sun-xyu 。

欢迎点击 我的博客 。

你可能感兴趣的:(在 CentOS 系统服务器上利用 Hexo 和 Nginx 搭建个人博客)