在搬瓦工 VPS 上搭建 Hexo

96
骑摩托马斯
2016.02.10 09:01* 字数 990

上篇文章讲了如何在搬瓦工 VPS 上搭建 VPN 来翻墙。 感觉只是把服务器用来当做翻墙工具有点浪费资源,而且最近一直有想建立自己个人博客的想法,就想在 VPS 上搭建一下试试。也是走了很多的弯路最后终于搭建成功了,该博客就是在搬瓦工的 VPS 上搭建的(有做广告的嫌疑,哈哈)。以下是搭建的工程。

前期准备

为什么选择 Hexo 呢? 我的理由很简单

  • 喜欢Hexo的主题,不少都适合中文
  • 配置简单,一键发布
  • 创作者是台湾人,支持一下国人的开发成果!

关于如何搭建 Hexo 的环境,我在这里就不罗嗦了, Hexo官方文档已经讲解的非常相信了,因为 Hexo 是国人发明的所以,官方文档本身就有汉语版本。 推荐使用 NexT.Mist 作为 Hexo 的主题,个人感觉很简洁很美观。

VPS 上安装 Nginx 服务

SSH 连接 VPS 后,添加 CenOS 7 的 epel 软件包

$ yum install epel-release

安装Nginx

$ yum install nginx

启动 Nginx

$ systemctl start nginx.service

使用 firewalld 给防火墙添加规则允许 HTTP 以及 HTTPS (不知道 firewalld 的,请查看上篇文章)

$ firewall-cmd --permanent --zone=public --add-service=http
$ firewall-cmd --permanent --zone=public --add-service=https
$ firewall-cmd --reload

设置 Nginx 自动跟随系统启动

$ systemctl enable nginx.service

现在可以在浏览器中输入 VPS 的 ip 检查看 Nginx! 是否启动了。
如果出现 "Welcome to Nginx.." 的字样,恭喜!代表你的 Nginx 成功安装并启动。

VPS 上搭建 Hexo

方案选择

  1. VPS 上执行 hexo server,再配置 Nginx 反向代理,让域名指向 http://localhost:4000
  2. 本地生成静态文件,再部署到 VPS 上,用 Nginx 直接做 Web 服务器。

毋庸置疑,为了安全起见并且在本地能同时 Deploy 到 VPS 和 Github (用作备份)上,选第二中方法肯定是比较好的

使用 rsync 将 Hexo 部署到 VPS 上

在 Hexo 目录下安装 rsync

$ npm install hexo-deployer-rsync --save

根据 Hexo rsync 部署文档 在 Hexo 中的 _config.yml 中添加 Deploy 的配置,以下是我在自己项目中的配置代码

deploy:
  type: rsync
  host: 你 VPS 的 IP 地址或者域名
  user: root
  root: 你想将 Hexo 生成的静态文件存放在 VPS 中的目录 例如: /www/hexo/blog/
  port: 你 VPS 的 ssh 端口号
  delete: true
  verbose: true
  ignore_errors: false

*必须先在 VPS 上创建好了想要存放 Hexo 静态文件的目录, rsync 不能创建不存在的目录

我看网上有的朋友说光在 Hexo 中使用 rsync 不够,在 VPS 也需要下载 rsync 服务,但是我在搬瓦工(又打了一次广告,搬瓦工是不是应该给我付点小费啊)上就没有下载 rsync 服务。如果你在 Hexo 中用 rsync 部署的时候一直报错,那就在 VPS 上下载 rsync 服务,看能否解决一直出错的原因,命令如下

$ yum -y install rsync

配置 Nginx

Hexo 成功部署到 VPS 上之后,剩下的就是来配置 Nginx 了

$ vi /etc/nginx/conf.d/default.conf

将以下内容替换原内容

server {
  root /www/hexo; # 这里是你网站的路径 路径下包含index.html等一系列文件
  index index.html index.htm;

  server_name www.letchinese.com letchinese.com *.letchinese.com; # 如果有域名就像我这样写 当然你还得配置域名解析

  location / {
    try_files $uri $uri/ /index.html;
  }
}

重启一下 Nginx 服务

$ systemctl start nginx.service
$ systemctl enable nginx.service

这样设置之后网站就应该可以通过 VPS 的 IP 地方访问到了

申请域名及域名解析

已经知道的朋友就可以忽略此章了

域名购买

本人建议域名在 godaddy 购买,最近 godaddy 开通了支付宝支付,所以购买已经是很便捷方便的了。具体的购买流程网上教程很多就不重复发明轮子了,从网上选择了一篇比较新还有比较全面的教程来供大家参考。教程在这

域名解析

国内的话建议在 dnspod 进行解析,官方教程也是非常的详细明了,这里就不多啰嗦了。如何就在 Godaddy 注册的域名通过 dnspod 来解析,教程在这

至此在 VPS 上搭建 Hexo 并绑定域名就到此结束了。如有任何疑问请将疑问留在评论中。

那些年用过的技术
Gupao