天天看点

使用Hexo搭建个人博客(二)本文说明:本地环境配置服务器配置本地配置_config.yml测试总结&期望参考

本文说明:

本文是使用Hexo搭建个人博客系列的第二篇,主要包括

  • 本地安装hexo
  • 服务器配置
  • 把个人博客部署到服务器

关于购买VPS和注册域名,解析域名到IP请看:Hexo搭建个人博客(一)

接下来让我们一步步把博客给搭建起来,跟着这篇博客做,最终就可以把博客部署到服务器上,并且运行起来~

本地环境配置

安装依赖环境

安装Hexo需要先安装node.js和git

  • 下载Node.js : Node.js下载地址
  • 下载Git: Git下载地址

安装Hexo

只需要一行命令:

$ npm install hexo-cli -g
           

例如我的博客目录是 /MyBlog

通过命令

cd /MyBlog
           

切换到博客目录

然后在博客目录下初始化hexo博客,blog为博客名,可随意更改

hexo init blog  
           

进入博客目录并安装插件依赖

cd blog
npm install
           

最后执行命令

hexo g
hexo s 
           

顺利的话,应该能看到终端打印出地址:http://localhost:4000/

点击地址打开浏览器,应该能看到Hexo默认主题的界面了~当然,我的主题已经换了,所以打开是这样的:

使用Hexo搭建个人博客(二)本文说明:本地环境配置服务器配置本地配置_config.yml测试总结&期望参考

安装部署依赖环境

部署Hexo使用

hexo deploy
           

命令即可,但是在这之前,需要先安装依赖环境server和deploy-git

在终端输入:

$ npm install hexo-server --save  #
$ npm install hexo-deployer-git --save
           

至此,本地环境就搭建好了,除了这个,我们还需要搭建服务器的环境,所以接下来就是服务器的配置。

服务器配置

安装Git和NodeJS

只需要两行命令

$ yum install git  # 安装git

curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -   # 安装NodeJS
           

创建Git用户

为了能让Hexo直接部署到VPS上,需要在服务器新建用户git
  • 步骤:
adduser git    # 添加git用户
sudo passwd git  # 给git用户设置密码  
chmod  /etc/sudoers  
vim /etc/sudoers  
           

然后找到这一行

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
           

并添加

接下来我们需要把电脑的公钥配置到服务器,这样才能向服务器提交代码

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
#然后在本地执行 cat ~/.ssh/id_rsa.pub | pbcopy ,将公钥复制粘贴到authorized_keys
chmod  ~/.ssh/authorzied_keys
chmod  ~/.ssh
           

OK,到这里,我们就把服务器git用户给配置完了,可以通过命令

来测试一下,是不是可以免密码登陆到服务器,如果可以,那就说明没问题了。

安装和配置Nginx

安装Nginx

由于我的vps上运行的是CentOS 6 的系统,直接安装Nginx会报错,解决方法请参考这篇博客:CentOS 6 安装Nginx

CentOS 7 可以直接执行命令:

$ sudo yum install epel-release
$ sudo yum install nginx   
           

然后再启动Nginx:

sudo systemctl start nginx
           

CentOS 6 启动Nginx的命令应该是:

/etc/init.d/nginx start
           

这个时候在浏览器输入服务器ip地址或者域名,就能看到Nginx欢迎页。

配置Nginx

  • 在 /etc/nginx/conf.d/ 创建虚拟主机配置文件 blog.conf

加入以下内容:

  • server_name: 改成你的服务器名字,或者域名
  • root: 改成你的博客根目录
server
{
    listen ;
    #listen [::]:80;
    server_name  bluelzy.com www.bluelzy.com;
    index index.html index.htm index.php default.html default.htm default.php;
    #这里要改成网站的根目录
    root  /var/www/hexo;  

    include other.conf;
}
           

然后再重启一下Nginx,即可

service nginx restart
           

创建Git仓库

既然本地环境配好了,服务器所需要的环境也配好了,那么现在就需要在服务器建一个仓库,用来管理博客的代码,这一块比较重要,关乎到能不能成功部署博客。

其实就是两步:

  • 创建仓库
  • 设置git hook

创建仓库

执行以下命令:

$ cd ~ 
$ mkdir blog.git && cd blog.git
$ git init --bare
           

解释一下这一行:

git init --bare
           

意思是初始化一个裸仓库,创建一个裸仓库,并且这个仓库是可以被正常 clone 和 push 更新的, 裸仓库不包含工作区,所以并不会存在在裸仓库上直接提交变更的情况。

设置git hook

我们使用 post-receive这个钩子.在 ~/blog.git 裸库的 hooks文件夹中,

新建post-receive文件。

vim ~/blog.git/hooks/post-receive
           

在文件中加入:

#!/bin/sh
git --work-tree=/var/www/hexo --git-dir=~/blog.git checkout -f
           

注意: –work-tree=/var/www/hexo 要改成你的博客根目录,也就是上面Nginx配置文件中的root

保存退出(wq)

然后再赋予这个文件运行的权限

chmod +x post-receive
           

OK,到这一步,服务器的配置也已经全部完成了。

恭喜你,如果能按着博客一步步看到这里,并且一切正常,那么你离成功搭建一个博客,还差最后一步….

本地配置_config.yml

打开Hexo站点目录下的_config.yml文件,找到 deploy关键字

deploy:
    type: git
    repo: [email protected]:/home/git/blog.git    // 仓库地址
    branch: master      
    message: 提交的信息     
           

把SERVER改成你的服务器地址,然后保存文件,大功告成!

测试

我们使用

hexo clean
hexo g
hexo d
           

把Hexo从本地部署到服务器上,执行完之后,在浏览器访问你的服务器地址,应该就能看到博客首页了。

以后写好文章,再执行上面这三句命令,就可以实现自动化部署了,真是人生一大乐事(捂嘴)

总结&期望

这篇文章从本地环境到服务器环境,再到自动化部署都作了一个详细的说明,从无到有搭建起了一个个人博客。接下来我会结合自己的博客,介绍一下

  • 主题选择
  • 主题配置
  • 第三方服务

参考

  • 从 0 开始搭建 hexo 博客
  • 阿里云VPS搭建自己的的Hexo博客
  • 开始新的折腾,Hexo博客Git-VPS部署完整记录

继续阅读