Website FAQ
[toc]
多平台维护不易,本博客实时更新于 个人网站,请移步阅读最新内容。
Hexo 配置
- Q: 如何修改 hexo d 命令的端口
- A: 如果服务器 / VPS 的 SSH 端口不是默认的 22,那么需要对本地 _config.yml 文件的 deploy 字段,做如下修改:
1 | deploy: |
- 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 | # 把以下代码 |
然后重新生成和部署博客,即可看到卜算子功能修复,可以参考本人网站下方统计数据,如下图所示。
NextCloud 配置
- Q: 浏览器只能上传到 nextcloud 服务器 1M 小容量文件
- A: 上传文件大小限制,主要由 nginx 配置文件中的 client_max_body_size 的值决定,其默认值为 1M,我们根据需求调整其大小。
- 修改 nginx 配置文件目录下的 nginx.conf 文件 (一般路径是 /etc/nginx/nginx.conf),增加如下图所示红色内容。
1 | server_names_hash_bucket_size 128; |
- 重启 nginx
1 | systemctl restart nginx |
- 检查 nginx 配置状态
1 | nginx -t |
邮件服务器配置
- Q: 免费邮件服务器配置
- A: Yandex,一家来自俄罗斯的域名邮箱提供商,可以搭建免费的域名邮局,免费账户支持 POP、SMTP,还支持 API。唯一的缺点是海外商家,官网速度比较慢,科学上网。
1 | POP3:pop.yandex.com 开启SSL 端口 995 |
以网易邮箱大师为例,配置图示如下:
更新 letsencrypt 证书
- Q: letsencrypt 的 https 证书期限是 3 个月,到期后如何重新更新证书呢?
- A: certbot renew
// 上面的指令不成功,换成下面的指令,重新申请证书,不需要改配置
// sudo certbot --force-renew
-
Q: 在 Centos 7 上如何更新 letsencrypt ?
-
A: /root/certbot-auto renew
// 上面的指令不成功,换成下面的指令,重新申请证书,不需要改配置
// sudo /root/certbot-auto --force-renewYou should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=your.site -
Q: Renew 失败,报错信息如下:
Attempting to renew cert (www.xx.net) from /etc/letsencrypt/renewal/www.xx.net.conf produced an unexpected error: ‘ascii’ codec can’t decode byte 0xe8 in position 57: ordinal not in range(128). Skipping.
All renewal attempts failed.
-
A: 解决方法:可能 nginx 配置文件中有中文注释,删掉之后即可 renew 成功。可参考 UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe7 in position 2: ordinal not in range(128) 。
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