Hexo 搭建个人 Blog 详细过程

前言

最近利用业余时间翻看了 GIthub 上各种开源的 Blog ,最终决定使用 Hexo 来搭建个人 Blog 借此梳理一下整个 Blog 的搭建过程,由于本人比较懒,故采用 Docker 进行部署

准备工作

  1. Linux Server Ubuntu
  2. Docker
  3. Nginx
  4. 域名
  5. 对应域名的 Https 证书
  6. 将你的域名解析到你的 Linux Server 公网 IP 上

PS:Linux & 软件版本根据个人喜好自行选择,Https 证书可以在域名购买的服务供应商申请免费

安装 Docker

执行如下命令安装 Docker 适用于绝大部分 Linux 发行版本:

1
$ curl -sSL https://get.docker.com | sh

参考了此开源项目

为 Docker 设置国内镜像地址:

1
2
3
4
5
6
7
8
9
10
11
12
// 编辑此文件,加入镜像配置,以下镜像人选其一即可
$ vim /etc/docker/daemon.json
// 某易镜像
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
// 某里镜像
{
"registry-mirrors": ["https://jzngeu7d.mirror.aliyuncs.com"]
}

PS: 如遇加速镜像地址不可用请自行 Google 国内可用 Docker 加速镜像为你的 Docker 提速

部署 Hexo

经过测试最终选用了此Hexo镜像
执行如下命令部署 Hexo 的 Docker 容器:

1
$ docker run -d --name hexo -p 80:4000 ipple1986/hexo

命令执行完待容器启动后,访问你的服务器公网IP的80端口应该就可以看到你的 Blog 了,如果不行,请检查如下内容:

  1. 检查命令是否成功执行,容器正常启动,执行 docker ps 查看
  2. 购买服务器网络安全策略有没有开放 80 端口

为域名配置 Https 证书

采用 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
27
28
29
30
31
32
33
34
35
36
37
server{
listen 80;
server_name a.sonicshield.cn;
return 301 https://$server_name$request_uri;
}
server {
listen 443;
server_name a.sonicshield.cn;
ssl on;
root html;
index index.html index.htm;
ssl_certificate /data/ssl/a.sonicshield.cn.pem;
ssl_certificate_key /data/ssl/a.sonicshield.cn.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header User_Agent $http_user_agent;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_pass http://127.0.0.1:10010;
}
}

需要修改内容如下:

  1. server_name 改为申请的域名
  2. ssl_certificate 改为申请的域名Https证书的pem
  3. ssl_certificate_key 改为申请的域名Https证书的key

PS:新增完配置别忘记重启或重载Nginx配置

到此博客搭建完毕。

总结

Hexo 有比较好的社区,以及各种扩展插件来满足日常需求,个人感觉是比较好的一个博客系统,如有疑问欢迎加我微信讨论:aaronuu

----本文结束 感谢您的阅读----