Hexo博客搭建(下)

1. 服务器部署

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

  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

0%