很早之前就想写博客记录来记录自己的学习以及生活.虽然,网上有很多第三方的博客网站,感觉不太适合自己.直到看到hexo这个博客框架.就想着折腾一番,拥有属于自己的一片天地.作为一个"伪程序员",当博客加载成功那一刻,实在是按捺不住激动的心情,“Hello world, hexo !!!”,首篇博客仅记录一下折腾过程,并纪念博客之旅的开始.

涉及一些软件的安装和配置可能没有作详细说明,请具体查看官方文档…~~(@ >@)~

本地环境

安装Node.js
安装git,用于向服务器推送网站文件.

Hexo安装和基本使用:
1.安装Hexo: npm install -g hexo
2.新建blog文件夹: cd < blog文件夹>
3.初始化blog: hexo init
4.安装依赖: npm install
5.生成静态页面: hexo g 执行 hexo s启动本地服务,浏览器打开http://localhost:4000 ,就可以查看本地生成的静态博客页面 .

Server端 (阿里云ECS)

安装宝塔面板,(鼠标点一点,轻松搭建LAMP环境,配置网站信息,感觉很适合我这种渣渣"伪程序员")

1
$ yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh #安装宝塔面板

搭建 git服务器,创建git用户,并创建裸仓库,用于作为网站文件同步目录.

1
2
3
4
5
6
7
8
9
10
11
12
$ adduser git #创建git用户
$ passwd git #设置用户密码
$ mkdir .ssh && chmod 700 .ssh #创建ssh目录,用于存放公钥文件
$ touch .ssh/authorized_keys #创建保存公钥的文件,保存本地公钥到此文件
$ su git #切换到git用户
$ sudo mkdir blog.git # 创建用于存放仓库的文件夹
$ git init --bare blog.git #初始化裸仓库
$ vi blog.git/hooks/post-receive #设置钩子,用于自动更新网站文件
#写入内容,下方为我的网站运行目录
#!/bin/sh
git --work-tree=/www/wwwroot/hexo(网站目录) --git-dir=/home/git/blog.git(同步内容目录) checkout -f
$ chmod +x post-receive #赋予执行的权限

出于安全考虑,可以禁用git用户的shell登录权限,在/etc/passwd文件中找到类似行:git:x:1001:1001:,,,:/home/git:/bin/bash并将其改为:

1
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

由于LNMP使用的是www用户,而git使用的是git用户,在更新博客时可能会产生冲突.如果有冲突,可以考虑新建一个组www-git,将两个用户同时的加入该组,并将网站目录的所有权更改为www-git组。

1
2
3
4
5
$ groupadd www-git
$ useradd -g www-git www
$ useradd -g www-git git
$ chgrp www-git 网站目录
$ chmod -R 775 网站目录