Tip
remark42 需要部署服务器来提供服务,我使用了 serv00 提供的免费服务器部署
serv00 服务器是 FreeBSD 系统,没有 root 权限,想要白嫖 serv00 需要实现以下功能:
- 安装并配置 remark42 服务
- 自动 SSH 登录,serv00 要求每 3 个月登录一次才能保证实例不会被销毁,因此需要通过定时任务,每隔一段时间进行登录
- 开机启动服务,serv00 会不定时重启,通过 pm2 配置重启后自动开启服务实现保活
最后在 quartz 中配置 remark42 能够正常使用就可以了!
Quote
更多关于 serv00 的玩法可以参考 Saika 大佬的博客
准备工作
Notice
serv 00 的注册和申请不过多赘述,点点就能完成,需要注意在使用 SSH 连接主机时,主机地址为
username.serv00.net
在安装 remark 42 之前,需要在 serv 00 的 panel 中添加随机端口,步骤如下:
- 登录 panel
- 点击 port reservation
- 点击 Add port,勾选 random,添加
- 记住端口号,待会要用
除此之外,还需要添加一个服务代理以便服务映射到对应的域名,步骤如下:
- 登录 panel
- 点击 WWW websites
- 点击 Add new website,域名填
remark.username.serv00.net
- 点击 Advanced settings
- 选择 Proxy,localhost,端口选择刚刚添加的端口
为了能够正常使用评论系统,我们还需要配置 SSL 证书,让协议从 http 变成 https~~(这一步我好像浪费了每周的申请次数,暂时还没搞好,所以评论暂时不能用)~~:
- 登录 panel
- 点击 WWW websites
- 点击 Manage SSL certificates,添加随机生成的证书
安装 pm2:
安装配置 remark42
在 Releases · umputun/remark42 (github.com) 中找到对应 remark42 的安装包(serv00 使用的是 FreeBSD),下载至 serv00:
解压到刚刚创建的代理位置(domains/username.serv00.net_subdomain/public_html)下:
测试 remark42,具体参数含义可以参考官方文档,其中有两个参数需要注意,(1)url 需要填上面填写的子域名,这样 remark 才能正确识别 proxy(2) PORT 就是上面添加的端口:
使用 pm2 启动服务
自动任务
创建自动登录代码,记得修改其中的用户名@地址和密码:
添加执行权限:
使用 pm2 启动服务:
之后需要在 panel 中设置定时任务,保证每次重启后可以自动执行 pm2 的任务:
- 登录 panel
- 点击 Cron jobs
- 点击 Add cron job
- 设置启动时间为:After reboot,Form type 选择 Advanced,命令为:
/home/你的用户名/.npm-global/bin/pm2 resurrect
最后保存快照:
Note
- 最后分享一些 pm2 的常用命令:
pm2 list
查看 pm2 管理的数据pm2 delete idx
根据 index 删除 list 中的任务pm2 save
保存当前任务
quartz 插件
Quote
为了能在 quartz 中使用,需要自定义前端代码,我参考了OCDkirby/remark42.quartz
将代码放入指定位置后,需要创建一个挂载点 load 评论的前端页面,我放在了 quartz/components/Footer.tsx
中:<div id="remark42"></div>