前言

之前站点用的是阿里云的轻量级服务器的Wordpress应用,虽说配置超简单,不过服务器的环境忒乱,默认php5.6,升级了之后环境就更乱了;心水了很久的Hexo一直想尝试下,碰巧一直在用的Sakura出了Hexo版的,于是决定迁移站点。

前前后后折腾了三天,今天算是基本完成了,来记录下中间踩的各种坑。

本文仅作为站点迁移坑点的补充,不是详细教程。

服务器系统

  • debian9.9

内容

  • Hexo搭建
  • Wordpress到Hexo迁移
  • Nginx配置
  • SSL证书申请
  • —http强制跳转https
  • Git的多终端同步问题
  • SEO配置
  • 七牛云图床搭建
  • 不定时更新··· ···

搭建

说是记录,不过其他人都写的很全面了(我懒),基本流程还是直接放链接好了。

基本搭建参考了下面的链接:

使用 Debian 从 0 开始搭建 hexo 博客

零成本搭建个人博客

Hexo部署起来的确很简单,不过各种设置真是改到吐血。

我用了Nginx作为web服务器,不过据说Caddy对于https更简单点,就留个链接吧 ~

开始使用 Caddy

搭建很快不过Debian的Nginx配置部分有点小坑。

Wordpress到Hexo迁移

官方有文档:

迁移到Hexo

需要注意的是评论与访问量不能迁移。

Hexo评论可以用Valine。阅读量可以用不蒜子,比较简单,也可以用Valine,v1.2.0版本开始支持统计。

如果非markdown文档迁移要注意下格式问题。

markdown文档也要注意格式问题。

Nginx配置

Nginx的安装见上面的链接。

关于nginx的配置位置,大多数博客都写了需要修改server{}配置但是却没写位置。

还有一部分写的是

vi /etc/nginx/nginx.conf

但其实Nginx的默认配置位置在

/etc/nginx/sites-available/default

server{}的配置也可以在这里直接修改。

SSL证书申请

发扬小白精神,能从简的一切从简。

SSL的证书用了certbot,可选OS与所用软件。

选择了之后贴心的会有安装步骤,只要跟着做就好,另外里面的脚本还会自动配置好环境。

证书有效期3个月,到期自动续签。

安装完成后需要去修改下Nginx的配置,

vi /etc/nginx/sites-available/default

打开后,把

server{
    listen 80 default_server;
    listen [::] default_server;
    ... ...
}

修改为

server{
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ... ...
}

保存退出,这样就开启了https,顺便也开启http2。

http跳转https

这个时候访问 http 还是可以访问的通的,如果想只用 https ,可以用Nginx做一下跳转。

在Nginx配置中添加一个server{}:

server {
    listen 80;
    server_name xxxx.com;#修改为自己的域名  
    return 301 https://$server_name$request_uri;
}

Git的多终端同步(Webhooks)

因为我的服务器还有几个月才过期,所以没有只把网站部署到Github上。

所以每次更新的流程就是,本地资源推送到Github中,服务器从Github中拉取提交。

拉取提交可以使用钩子Webhooks实现,这样每次在本地提交资源了之后,服务器就会自动从Github获取同步了。

Github配置WebHook参考:

技术人如何搭建自己的技术博客

需要注意的是守护进程使用pm2时会有奇怪的问题,所以推荐上述文章中的forever。

注意deploy.js中的depoly.sh脚本位置。

注意URL是http还是https,如果申请了ssl证书,网站是https就需要用https了。

另外还要配置Nginx中的

location = /deploy {
     proxy_pass http://127.0.0.1:7777/deploy;
}

加到

vi /etc/nginx/sites-available/default

的 location之前就行了,注意端口号。

如果GitHub与你的服务器通信没有问题的话,Webhooks选项卡就会如下图显示。

gitWebhooks

SEO配置

SEO优化可以让搜索引擎更好的检测到你的网站,提升网站搜索排名。

基础配置参考

你的Hexo博客SEO优化了吗?

Google Search Console

谷歌的配置地址在:

Google Search Console

Google Search Console

因为网域的更新dns的时间太长,所以我选择了网址前缀。

点击继续,我使用了 其他验证方法 中的 HTML标记。

html标记

根据说明复制标记到 /Sakura/layout\_partial/head.ejs 中的 <head> 里。

更新网站点击验证就可以了。

百度搜索资源平台

网址是:网站支持

与谷歌的差不多,不过现在可能还要绑定熊掌id还是蛮烦了,因为之前已经站点认证过了所以这一步我就跳过了。

值得注意的是 链接提交-自动提交 中,主动提交,自动推送 与 sitemap 需要配置下。

具体步骤百度写的很详细就不再赘述。

Bing webmaster

网址是:Bing webmaster

也是之前就验证过了,验证方法也和谷歌差不多,全英界面可配置项较少记得把sitemap加上去。

BingWebmaster

七牛云图床搭建

图床配合markdown,对图片的管理可以省心不少。

比较有名的在线免费图床有

  • SM.MS图床
  • 微博图床
  • lofter图床
  • Github图床
  • ··· ···

SM.MS用起来还是不错的,免费并且还是https,除了高峰期速度有点崩了;

微博,lofter的图床速度没问题,不过毕竟是别人家的图床嘛。

碰巧七牛云有免费10GB的存储空间,每月10GB的免费http流量,就正好可以拿来做个个人用的小图床。

步骤很简单:注册七牛云-对象存储-新建存储空间

七牛云对象存储

创建之后,就获得了一个每月10GB的云储存空间,七牛云会先分配一个有效期一个月的测试域名。

测试域名

因为测试域名只有30天,所以我建立了 img.zxsama.top 的二级域名用于存储空间的访问。

方法是:

  1. 融合CDN - 添加域名

  2. 加速域名 填入用于管理图片的二级域名,我这里是 img.zxsama.top

  3. 源站配置 中选择 七牛云存储

  4. 将所给的 CNAME 添入到域名的解析设置中

此时默认为http,如果需要浏览器中域名左边的小绿锁。

就需要开启https了,开启https可以用七牛的免费证书,也可以从其他地方导入,也是很简单。

不过需要注意的是https的流量请求是收费的,七牛云目前的收费为 0.28¥/GB

另外域名管理 中还可以配置,防盗链/IP 黑白名单/流量带宽告警··· ··· ,总之就是很省心了。

图床上传工具PicGO

推荐一个好看又好用的开源图床上传工具——PicGO.

拖拽图片就可以自动上传并复制外链到剪贴板。

目前支持的图床:

  • 微博图床 v1.0 微博图床从 2019 年 4 月开始进行防盗链,不建议继续使用
  • 七牛图床 v1.0
  • 腾讯云 COS v4\v5版本 v1.1 & v1.5.0
  • 又拍云 v1.2.0
  • GitHub v1.5.0
  • SM.MS v1.5.1
  • 阿里云 OSS v1.6.0
  • Imgur v1.6.0

PicGO七牛图床配置

以七牛云的配置为例:

设置项 说明
设定AccessKey/设定SecretKey 分别是七牛云的个人中心-密钥管理中AK与SK
存储空间名 刚刚新建的存储空间的名称
访问网址 刚刚进行绑定的二级域名
确认存储区域 创建时所选的存储区域位置。华东:z0;华北:z1;华南:z2;北美:na0;东南亚:as0;
设定网址后缀 可选项,如果开启了图片处理,在这里输入图像处理的参数
指定存储路径 可选性,只是为了便于分类文件。格式:name/

七牛图床配置

图片在线压缩

因为是自己的图床嘛,流量该省还是要省的,上传图片的压缩还是很有必要的。

推荐两个在线的图片压缩网站:

  • https://recompressor.com

    • 支持压缩为pngjpeg图像,并且会压缩为不同级别
    • 支持中文,并且支持ctrl+v粘贴图片,再配合QQ的快捷键截图,总之就是贼好用
    • recompressor
  • https://www.imgbot.ai

    • 支持改变图像大小/压缩图片/裁剪图片/加水印
    • 英文界面,图片最大支持100MB,多了一些小工具,也是很好用
    • imgbot

小结

git操作可以用Github Desktop,省心不少。

建议另外开个分支,用于保存Hexo网站源文件。

网站配置完成后就是令人眼花缭乱的各种主题设置的修改了,见后篇啦。


仅此而已的地方