一直想搭建一个自己的博客来记录学到的东西,趁着这段疫情不能出去,网上找了许多篇文章,终于搭建了一个自己的博客。趁着刚搭建好,记录一下搭建的过程。
本次搭建是在win10+ubuntu系统下完成
1 本地安装配置
1.1 安装node.js和npm
从官网下载相应版本并安装,可以修改自定义安装路径,其余全部默认一路next(msi文件安装会自动配置环境变量)
下载地址:nodejs下载 (nodejs中已集成了npm)
安装完成后打开cmd分别输入
node -v
npm -v
出现版本号则安装成功
1.2 安装Git
从官网下载相应版本并安装,一路全部默认。
下载地址:Git下载
安装成功后打开cmd输入git --version
来验证是否安装成功
1.3 Hexo
1.3.1 安装
在本地新建一个文件加blog
,并打开,在空白处右击选择Git Bash Here
打开后输入npm install hexo-cli -g
安装Hexo,安装完成后hexo -v
验证是否安装成功
1.3.2 启动
继续输入hexo init
初始化这个文件加为博客专用文件夹
成功后输入hexo s
或hexo server
来启动
启动成功后在浏览器输入http://127.0.0.1:4000,出现以下界面则安装成功
2 服务端
2.1 安装Git、Nginx
打开终端输入
sudo apt-get install git nginx
安装成功后输入service nginx start
启动nginx,在浏览器输入服务器ip验证是否安装成功
2.2 创建相应文件夹
新建文件夹并赋予权限
mkdir /hexo
mkdir /hexo/blog
mkdir /hexo/temp
mkdir /hexo/GitLibrary
chmod -R 755 /hexo/blog /hexo/temp /hexo/GitLibrary
2.3 配置Nginx
进入nginx配置目录,打开配置文件,我的是在/etc/nginx
文件夹加下
cd /etc/nginx
vi nginx.conf
找到监听80端口的代码,并修改为
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name blog.com; # 填写个人域名
root /hexo/blog; #填写上面创建的博客路径
}
2.4 配置Git
进入上面创建好的文件夹,下载并初始化git裸库
cd /hexo/GitLibrary
git init --bare blog.git
创建Git脚本
cd blog.git/hooks
vi post-receive
写入以下内容并保存,路径根据上面创建的文件更改。脚本内容是为了让Git仓库每次检测到push行为后,删除原来的内容,并将最新的资源文件Git clone在你要访问的文件夹下。
#!/bin/sh
GIT_REPO=/hexo/GitLibrary/blog.git
TMP_GIT_CLONE=/hexo/temp
PUBLIC_WWW=/hexo/blog
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
至此,服务端配置完毕
3 推送本地内容到服务器
在本地的blog
文件夹下打开_config.yml
配置文件,找到并修改以下内容
deploy:
type: git
message: update
repo: root@你的服务器IP:/hexo/GitLibrary/blog.git #上面创建的blog.git路径
branch: master
在打开的Git Bash
终端中输入以下命令,生成静态文件并发布
hexo clean
hexo g
hexo d
如果输入hexo d
后提示ERROR Deployer not found: git
,则执行下面的语句后再运行发布命令即可
npm install --save hexo-deployer-git