Website FAQ

[toc]

多平台维护不易,本博客实时更新于 个人网站,请移步阅读最新内容。

Hexo 配置

  • Q: 如何修改 hexo d 命令的端口
  • A: 如果服务器 / VPS 的 SSH 端口不是默认的 22,那么需要对本地 _config.yml 文件的 deploy 字段,做如下修改:
1
2
3
4
5
deploy: 
type: git
message: update
repo: ssh://username@ip:<your-port>/path_to_remote_git
branch: master
  • Q: Next 主题 busuanzi_count 访客统计失效
  • A: 卜算子官网 提示,“因七牛强制过期『dn-lbstatics.qbox.me』域名,与客服沟通无果,只能更换域名到『busuanzi.ibruce.info』”,所以需要修改卜算子在 next 主题插件里面的域名。
    其中,hexo-theme-next 主题中使用了 dn-lbstatics.qbox.me 域名的文件位置为:hexo\themes\next\layout\_third-party\analytics\busuanzi-counter.swig.
1
2
3
4
5
6
# 把以下代码

<script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>

# 替换成
<script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>

然后重新生成和部署博客,即可看到卜算子功能修复,可以参考本人网站下方统计数据,如下图所示。

NextCloud 配置

  • Q: 浏览器只能上传到 nextcloud 服务器 1M 小容量文件
  • A: 上传文件大小限制,主要由 nginx 配置文件中的 client_max_body_size 的值决定,其默认值为 1M,我们根据需求调整其大小。
  1. 修改 nginx 配置文件目录下的 nginx.conf 文件 (一般路径是 /etc/nginx/nginx.conf),增加如下图所示红色内容。

1
2
3
4
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8000m;
  1. 重启 nginx
1
systemctl restart nginx
  1. 检查 nginx 配置状态
1
nginx -t

邮件服务器配置

  • Q: 免费邮件服务器配置
  • A: Yandex,一家来自俄罗斯的域名邮箱提供商,可以搭建免费的域名邮局,免费账户支持 POP、SMTP,还支持 API。唯一的缺点是海外商家,官网速度比较慢,科学上网。
1
2
3
POP3:pop.yandex.com 开启SSL 端口 995  
SMTP:smtp.yandex.com 开启SSL 端口 465
IMAP:imap.yandex.com 开启SSL 端口 993

网易邮箱大师为例,配置图示如下:


更新 letsencrypt 证书

  • Q: letsencrypt 的 https 证书期限是 3 个月,到期后如何重新更新证书呢?
  • A: certbot renew
    // 上面的指令不成功,换成下面的指令,重新申请证书,不需要改配置
    // sudo certbot --force-renew

Hexo 提示 “TypeError [ERR_INVALID_ARG_TYPE]: The “path” argument must be of type string ” 解决办法

  • Q:在网站部署过程中,Mac 系统中 “hexo d” 会提示 TypeError [ERR_INVALID_ARG_TYPE]: The “path” argument must be of type string。

  • A:这是因为安装的 node 版本过高导致的。Hexo 官网对 node 的版本要求是不低于 10.13,推荐 12.0 或更高版本。

    Node.js (Should be at least Node.js 10.13, recommends 12.0 or higher)

    截止在 2021 年 9 月,实践发现 LTS 14.17 版本并不适配最新版的 hexo,所以对 hexo 升级是解决不了这个报错问题。变通的方法是对 node 版本降低,安装 12.0 版本可以解决问题。

    在 mac 上如何降级 node 版本,如下。详细可参见 homebrew 安装指定版本 node

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 如果之前使用`brew install node`安装过 node,需要先执行'解绑'node
    brew unlink node (不一定需要运行)
    # 查找可用的node版本
    brew search node
    # 安装你需要的版本,建议 node@12
    brew install node@12
    # 绑定,node@12 需要和你的安装版本一致
    brew link node@12
    # 上一步如果报错, 按照提示执行命令,比如
    brew link --overwrite --force node@12
    # 检查安装版本
    node -v