配置并部署hexo到vps
更新于:2020-04-20 23:35
前言
其实平时自己几乎不写文章,但偶尔看到一些东西会做点笔记,所以就顺手自己搭建一个人博客网站,看了一圈后决定使用hexo
。
本篇所包含的主要内容如下:
- 安装Git Bash
- 安装NodeJs
- 安装hexo
- 部署通过git部署到VPS
1. 安装Git Bash
我的是windows环境,所以下载windows版本并安装就可以了。
- 下载地址
- 安装步骤:双击下载好的exe文件,一路next即可
-
安装好后,打开gitbash,查看版本:
- 命令:
git version
(写这篇博客的时候最新版本:2.25.1)
- 命令:
2. 安装NodeJs
Hexo是基于nodeJS环境的静态博客,所以还是老老实实把这玩意儿装了吧
- 下载地址 (说明:LTS为长期支持版,Current为当前最新版)
- 安装步骤:下载msi文件,双击打开安装,一路next即可
-
查看版本:
- 命令:
node -v
- 可执行
npm install cnpm -g --registry=https://registry.npm.taobao.org
然后在后文中使用cnpm
取代npm
提升网络访问速度
- 命令:
3. 安装hexo
看到这么多安装,千万不要紧张,因为后面的东西都是在gitbash中用npm工具安装即可。
-
先创建一个文件夹(用来存放所有blog的东西),然后
cd
到该文件夹下。 -
安装hexo命令:npm i -g hexo
-
安装完成后,查看版本:
-
初始化命令:
hexo init
,初始化完成之后打开所在的文件夹可以看到以下文件:
4.部署通过git部署到VPS
-
本地生成SSH Key
-
Git Bash内执行:
ssh-keygen -t rsa -C "邮箱地址"
,按提示操作 -
复制
~/.ssh/id_rsa.pub
的内容
-
-
VPS配置
-
安装Git
通过SSH连接VPS,执行:apt-get install git
,完成后通过git --version
查看Git版本,若显示版本信息则说明安装成功。 -
安装宝塔,完成后任选一个web环境安装
-
打开宝塔面板,添加网站
-
切换到SSH连接VPS,初始化git仓库
cd /www //切换到宝塔默认网站目录 mkdir repo/blog.git //创建git仓库文件夹,以repo/blog.git为例 cd repo/blog.git //进入仓库目录 git init --bare //使用--bare参数初始化为裸仓库,这样创建的仓库不包含工作区
- 配置SSH
cd /root //切换到root用户目录 mkdir .ssh //创建.ssh目录 cd .ssh vim authorized_keys
然后将本地的公钥复制到authorized_keys文件内(公钥即上文中
~/.ssh/id_rsa.pub
的内容)- 配置git hooks
执行
cd /www/repo/blog.git/hooks //切换到hooks目录下 vim post-receive //创建文件
复制下面的内容到post-receive文件中:
#!/bin/bash GIT_REPO=/www/repo/blog.git TMP_GIT_CLONE=/tmp/blog PUBLIC_WWW=/www/wwwroot/test rm -rf ${TMP_GIT_CLONE} git clone $GIT_REPO $TMP_GIT_CLONE rm -rf ${PUBLIC_WWW}/* cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}
保存退出后,执行:
chmod +x post-receive
赋予可执行权限。-
尝试连接
在本地打开Git Bash:
ssh root@VPS的ip
-
配置Hexo
打开本地博客根目录下的_config.yml文件,找到最后的deploy配置,修改为: -
注:使用git需执行
npm install hexo-deployer-git --save
安装git插件
# Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git repo: vps: root@VPS的IP:/www/repo/blog.git,master
-
到此,Hexo建站就全部配置部署完毕了。
第一篇文章
新建文章:hexo n "文章名"
或者hexo new "文章名"
,然后使用Markdown编辑文章内容。
生成并部署:hexo g -d
或者hexo d -g
生成部署执行完后,访问自己的网址就可以看到文章了。