vps搭建个人轻博客的思路大致为: 本地使用hexo生成静态页面, 将本地静态页面通过hexo的deploy(部署)到VPS的git私有仓库中, 再通过git hooks(git 钩子)同步到web根目录
前言
这是我的第一篇博客, 本篇主讲我在VPS服务器上搭建博客的过程, 包括自己在搭建博客中遇到的问题与感悟.
目标
在VPS服务器中搭建个人博客.
前期准备
我的VPS服务器是购买的 搬瓦工服务器
windows 或者 linux
正文
本地配置
安装
本地操作
VPS配置
安装
VPS操作
初始化用户
1
2
|
##Allow root to run any commands anywhere
root ALL=(ALL) ALL
|
1
2
3
|
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
git ALL=(ALL) ALL
|
创建git仓库,并配置ssh登录
1
2
3
4
5
6
7
8
|
su git
cd ~
mkdir .ssh && cd .ssh
touch authorized_keys
vi authorized_keys//在这个文件中粘贴进刚刚申请的key(在id_rsa.pub文件中)
cd ~
mkdir hexo.git && cd hexo.git
git init --bare
|
测试一下
在git bash中输入 ssh git@VPS的IP地址, 如果能够远程登录的话, 则表示设置成功.
[链接不成功的调试][链接不成功的调试]
创建网站目录并赋予git对网站目录的所有权
1
2
3
|
cd /var/www
mkdir hexo
chown git:git -R /var/www/hexo
|
配置git hooks
1
2
3
|
su git
cd /home/git/hexo.git/hooks
vim post-receive
|
输入如下内容后保存退出
1
2
3
4
5
6
7
8
|
#!/bin/bash
GIT_REPO=/home/git/hexo.git #git仓库
TMP_GIT_CLONE=/tmp/hexo
PUBLIC_WWW=/var/www/hexo #网站目录
rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}
|
然后赋予脚本的执行权限
配置Nginx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
vim /etc/nginx/conf.d/hexo.conf
插入如下代码:
server {
listen 80 ;
root /var/www/hexo;//这里可以改成你的网站目录地址,我将网站放在/var/www/hexo
server_name example.com www.example.com;//这里输入你的域名或IP地址
access_log /var/log/nginx/hexo_access.log;
error_log /var/log/nginx/hexo_error.log;
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
root /var/www/hexo;
access_log off;
expires 1d;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
root /var/www/hexo;
access_log off;
expires 10m;
}
location / {
root /var/www/hexo;//这里可以改成你的网站目录地址,我将网站放在/var/www/hexo
if (-f $request_filename) {
rewrite ^/(.*)$ /$1 break;
}
}
}
|
重启Nginx
本机的最后配置
配置hexo配置文件
位于hexo文件夹下,_config.yml,修改deploy选项
1
2
3
4
5
6
7
8
9
10
11
|
deploy:
type: git
message: update
repo:
s1: git@VPS的ip地址或域名:git仓库地址,master
##例如
deploy:
type: git
message: update
repo:
s1: git@192.234.35.236:hexo.git,master
|
接着在hexo文件夹内,按住shift右击,选择在此处打开命令窗口(当然你也可以用cd命令),运行hexo g hexo d,如果一切正常,静态文件已经被成功的push到了blog的仓库里,如果出现appears not to be a git repo的错误,删除hexo目录下的.deploy后再次hexo g hexo d就可以了。
以上,博客已经完全建好了。
[链接不成功的调试]: {% post_link 远程登录服务器 远程登录服务器 %} “链接不成功的调试”