51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Fluid -25- 独立部署基于 MongoDB 的 Waline

Waline 本可以部署在 Vercel 等平台上,但有一天突然就不能用了,本文记录自己部署基于 MongoDB 数据库的 Waline 服务。

背景 {#背景}

  • Vercel 不香了之后,自己建 Waline 服务器
  • 数据库之所以选择 MongoDB,主要在于安装使用方便,对于网站存取性能更优

自己动手,丰衣足食,数据安全,速度还快,无人可挡!

配置环境 {#配置环境}

安装 MongoDB {#安装-MongoDB}

创建 MongoDB 用户 {#创建-MongoDB-用户}

  • 进入 mongosh
  • 切换到新数据库 waline
  • 创建用户

    在数据库 admin (官方建议使用 admin 数据库) 中创建用户 vvd 密码 xxxxxx,赋予他在 admin 数据库上的 root 权限

成功运行命令返回结果:

  • 运行 show users 命令查看结果

创建环境变量 {#创建环境变量}

  • 根据官方文档

  • 如果和我一样是本地 MongoDB 的话,我们最主要需要配置: MONGO_DBMONGO_USERMONGO_PASSWORD 三个变量

  • 修改 ~/.bashrc,按照之前的配置加入上述变量

    此处三个是最基本的变量,如果需要配置其他内容依法炮制即可

至此环境配置完毕

本地安装 Waline {#本地安装-Waline}

安装、运行 {#安装、运行}

  • 按照官方文档(真的很方便啊)
  • 在服务器找一个没人的空地方,运行命令:
  • 正常运行返回信息

测试 {#测试}

  • 此时可以访问 http://IP:8360 访问 waline 页面:

测试评论

  • 此时后台信息输出
  • 说明我们 Waline 配置成功

创建 systemd 服务后台运行 {#创建-systemd-服务后台运行}

直接运行 node 命令是可以顺利启动 waline 服务的,但是用了后台启动的方式就会报错 Not Initialized,原因未知,做错误记录

  • 将刚刚成功运行 waline 的文件夹移到 /usr/local/waline
  • 在此处创建运行脚本 setup.sh

之所以要创建脚本,是因为要将数据库的环境变量添加进去,否则可能链接不上数据库,报错 Not Initialized

  • /lib/systemd/system 文件夹创建 waline.service 文件
  • 设置 waline 开机自启动
  • 开启 waline 服务
  • waline 就可以随开机自动启动后台服务了

脚本后台运行 {#脚本后台运行}

  • 使用 tmux \ screen 等工具在服务器后台运行也是可以的

  • 只不过坏处是服务器重启了还得进去运行一下 waline

使用大佬的仓库 {#使用大佬的仓库}

也可以使用大佬的仓库一键部署,确实很方便,只要环境变量配置成其他数据库的也可以支持非 MySQL 的数据库

Nginx 反向代理 {#Nginx-反向代理}

  • 我用的 Docker 部署的 Nginx
  • 目标是将 Docker 的 4443 端口映射到服务器的端口,以 6666 为例
  • 配置好 ssl 证书
  • 在 Nginx 配置文件目录 /etc/nginx/conf.d 中加入文件 waline.conf
  • your_ip 填入服务器的公网 IP 地址即可

  • 之后可以 ssl 访问 waline

部署到 Fluid 主题 Hexo 博客 {#部署到-Fluid-主题-Hexo-博客}

  • 记住自己的 waline url https://IP:port
  • 修改主题配置文件 _config.fluid.yml
  • 部署博客,测试评论

  • 新版 Waline placeholder 需要加在 local 下面,感谢 Gary "Noob" Z. 同学的分享。

    加了新 placeholder 后

参考资料 {#参考资料}



文章链接:
https://www.zywvvd.com/notes/hexo/theme/fluid/fluid-my-waline/my-waline/

赞(0)
未经允许不得转载:工具盒子 » Fluid -25- 独立部署基于 MongoDB 的 Waline