简述
Hexo可以理解为是基于node.js制作的一个博客工具。它通过在本地编写markdown文档,然后生成静态html页面并上传至服务器。
本地hexo搭建
本地需要准备的工具git
, node.js
安装NodeJS
浏览器进入NodeJS 官网:https://nodejs.org/zh-cn/,安装 LTS(Long Term Support)版本。安装完成后可以使用下面的命令查看版本。
1 | node -v |
hexo搭建
这里给出hexo的官方文档https://hexo.io/zh-cn/docs/,可以作为参考。
1.安装hexo
1 | npm install -g hexo-cli |
2.本地搭建hexo
1 | # 创建本地目录 |
运行hexo s
之后,可以在本地端口访问网站。
服务器端配置
创建文件保存目录
在想要保存网站文件的地方创建目录
1 | mkdir /wwwBlog |
安装nginx
1 | # 安装nginx |
此时应该可以通过http://ip:80
端口访问nginx
的欢迎页,如果配置了DNS,也可以直接通过域名访问。
配置nginx
在/etc/nginx
目录下有一个conf.d
文件夹,在这个文件夹里面新建一个conf文件,内容如下
1 | vim /etc/nginx/conf.d/blog.conf |
1 | server{ |
这里其实可以在任何地方创建该配置文件,只需要在nginx.conf
包含该文件即可,注意是在http关键词下面。
此时如果在 /wwwBlog
目录下有一个html文件,则可通过网址直接访问该网页。这里给一个简单的index.html
。
1 |
|
接下来的任务就是如何将hexo本地渲染的html文件上传到我们在服务器的目录下。
安装git和nodeJS
1 | sudo apt-get update |
设置git 免密登陆
创建git用户
1 | # 添加用户 |
设置免密登陆
1 | su git |
然后打开 authorized_keys
文件将本地 .ssh/id_rsa.pub
中的内容粘贴在最后。
此时直接在本地登陆服务器时不需要密码。
1 | ssh git@aliyun |
配置git仓库
- 在服务器上使用git用户创建一个Git仓库,并且在该仓库中新建一个post-receive钩子文件。
1 | cd ~ |
- 输入以下内容:
1 | git --work-tree=/wwwBlog --git-dir=/home/git/blog.git checkout -f |
- 保存退出并授予该文件可执行权限,命令:
1 | chmod +x ~/blog.git/hooks/post-receive |
本地Hexo配置并发布
- 在本地计算机安装插件: hexo-deployer-git 和 hexo-server。这俩插件的作用分别是使用Git自动部署,和hexo本地简单的服务器。
1 | npm install hexo-deployer-git --save |
- 打开_config.yml文件,修改deploy项目如下:
1 | deploy: |
其中,type项表示部署类型为git,仓库repo地址为git@云服务器公网IP:/home/git/blog.git,分支branch为master主分支。
- 部署
1 | hexo clean |
此时博客页面已经推送到服务器的目录下/wwwBlog
,部署完成后,若打开页面没变化,可以在云服务器输入以下重启nginx即可:nginx -s reload
参考链接
Win10环境下基于Hexo的静态博客环境搭建,及其阿里云部署
这里有一个关于ssl证书的配置,留待以后
Hexo 博客搭建并发布到云服务器