0%

hexo+nginx部署个人博客

引言

很早以前就想搭建个人网站,但都没有付诸行动,现在终于开始着手做了,本来想一步到位搭建一个动态网站,但是发现自己建网站知识太欠缺,退而求其次搭建了静态网站,本文介绍用hexo+nginx来搭建个人博客。

hexo

在hexo官网上的介绍如下:


Hexo was originally created and maintained by Tommy Chen in 2012. Since then, it has helped thousands of people to build their dream website/blog.


hexo是基于node.js的一个静态网站框架,直接在搜索引擎中搜索Hexo即可找到官网以及中文官网,介绍安装方法的博客非常多,

nginx

搭建hexo+nginx环境

起初我是跟随B站up主CodeSheep的视频搭建的,有兴趣的可以直接去B站搜索,但是这个视频介绍的方法是,在本地写好博客内容后,同步至github,CodeSheep的初衷是非常好的,github免费、简单。唯一的问题就是,github服务器在国外,网速不确定,时好时坏,访问起来非常蛋疼,有时候2分钟都刷不出网页来,因此我就决定购买华为云主机,并注册域名来部署访问我的博客。


购买好华为云之后,通过ssh远程连接系统,首先需要安装git工具(ubuntu下)

1
apt-get install git

然后安装nginx服务

1
apt-get install nginx

创建新用户

1
adduser git

创建git仓库,并初始化myblog.git为空目录

1
2
3
mkdir /var/www
cd /var/www
git init --bare myblog.git

创建静态网站目录

1
mkdir /var/www/hexo

配置git hooks的post-receive文件

1
vim /var/www/myblog.git/hooks/post-receive

添加一下内容:

1
2
#!/bin/sh
git --work-tree=/var/www/hexo --git-dir=/var/www/myblog.git checkout -f

保存并退出后,修改设置权限:

1
chmod +x /var/www/myblog.git/hooks/post-receive

并修改myblog.git目录的所有者:

1
chown -R git:git myblog.git

将git仓库与之前创建的静态网站目录链接,并配置权限:

1
2
chown -R git:git /var/www/hexo
chmod -R 775 /var/www/hexo

打开本地的hexo目录,编辑_config.yml文件deploy部分

1
2
3
4
depoly:
type: git
repository: git@ip或域名:/var/www/myblog.git
branch: master

nginx配置
让nginx将端口或域名指向hexo静态文件目录

1
vim /etc/nginx/sites-available/default

并修改一下内容

1
2
3
4
5
6
7
8
9
10
11
server {
listen 80;
listen [::]:80;
root /var/www/hexo; # 修改的地方
server_name godricguo.top www.godricguo.top; #如果需要改域名访问,修改server_name 为域名便可
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}

这样重新启动nginx服务,就可以在浏览器中访问自己的博客了。