Hexo博客搭建(下)

  1. 1. 服务器部署
  2. 2. Git Server服务的搭建
    1. 2.1. Git安装和创建Git管理员
    2. 2.2. 创建一个Git裸库
    3. 2.3. Hexo项目上传
    4. 2.4. 目录结构
  3. 3. Nginx服务的搭建
    1. 3.1. Nginx安装
    2. 3.2. Nginx配置
    3. 3.3. Nginx基本操作
    4. 3.4. 403问题
  4. 4. 参考文章

1. 服务器部署

接上一篇Post not found: Hexo1 Hexo博客搭建(上),在本地编辑好的博客项目自然是要发布出来的。目前常见方法有如下两种:

  1. 发布到Github上,这种比较适合没有域名和服务器的同学,以前搭建过所以就不再尝试了;
  2. 发布到用户私人的服务器上,这种适合有自己域名和服务器的同学,而且会比前一种方向多一些步骤;

出于学习技术的目的,所以我选择后一种。

前一章节主要是描述的下图的Hexo本地项目,本章节主要描述服务器Git服务器Nginx部分

屏幕快照 2018-04-08 上午8.15.21

2. Git Server服务的搭建

2.1. Git安装和创建Git管理员

1、 安装git

先查看一下服务器上是否有安装git

1
git --version

没有返回相应版本号,那就安装一下吧

1
2
3
4
5
6
# linux
$ apt-get install git

# or CentOS

$ yum install git

2、 创建一个专用于git上传和管理的帐号

1
2
3
4
5
6
7
8
$ sudo adduser gitadmin
#切换到新的gitadmin帐号下
$ su gitadmin

$ cd ~
$ pwd
/home/gitadmin
# 访问用户宿主目录,这个帐号下上传的文件内容都可以放到此目录之下

2.2. 创建一个Git裸库

如果不清楚git祼库是什么,可以参考:Git 本地仓库和裸仓库

1
2
3
git init --bare blog.git

# 初始化空的 Git 版本库于 /home/gitadmin/blog.git/

2.3. Hexo项目上传

在Hexo的本地项目中,打开站点配置文件_config.yml文件,打到# Deployment部分进行配置

deploy:
  type: git
  repo: git@[你的vps服务器地址]:/home/gitadmin/blog.git
  branch: master


在hexo项目的根目录中运行

$hexo clean && hexo generate --deploy

编辑hooks

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

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

2.4. 目录结构

/home/git/blog.git/hooks #post-receive文件中,设置–work-tree=后面的路径来设置Hexo项目设置静态文件上传的目录

/home/git/walnut

3. Nginx服务的搭建

3.1. Nginx安装

因为对nginx和linux都还在学习中,先让东西跑起来增加自己的兴趣感。比较推荐通过下面这种一键安装的方法:

安装LNMP稳定版

1
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp

默认安装lnmp可不写,如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可。如需更改网站和数据库目录先修改安装包目录下的 lnmp.conf 文件。

如提示wget: command not found ,使用yum install wget 或 apt-get install wget 命令安装。

更多相关的安装信息,参考:https://lnmp.org/install.html

3.2. Nginx配置

http://www.runoob.com/linux/nginx-install-setup.html

3.3. Nginx基本操作

配置完成后,除了启动Nginx服务,还可能需要多调试几次。所以列几个常用的命令

https://www.cnblogs.com/xiaoL/p/6964217.html

3.4. 403问题

https://www.jianshu.com/p/e0dadb871894
http://zoroeye.iteye.com/blog/2166174

4. 参考文章

https://segmentfault.com/a/1190000005723321
https://segmentfault.com/a/1190000009363890#articleHeader22