Cirry's Blog

安装waline评论功能

2022-09-19
docker
最后更新:2024-06-20
6分钟
1054字

这里只简单说两三种搭建方式,更多搭建方式请参考waline官网

搭建数据库

无论您是使用什么方式部署Waline系统,都需要一个数据库。这里我推荐两种,一是使用leancloud,二是自己本地搭建postgres,当然也可以搭建其它waline支持的数据库。

我们先从简单的leancloud来说一下吧。

方式一:leancloud搭建

因为我的国内版本的leancloud账号有问题导致无法使用了,这里就以国际版来说明吧。

登录leancloud官网国际版,如果没有账号就注册一个吧。

登录成功之后,点击左上角,创建应用,输入应用名称,选择开发版,点击创建。

default

创建完成后,点击应用,选择设置,选择应用凭证,可以看到APP ID,APP KEY, Master Key就是我们后面部署waline的时候对应需要的LEAN_ID, LEAN_KEYLEAN_MASTER_KEY

default

到这里我们的leancloud就算准备好了。

方式二:本地搭建Postgres

参考文章Debian11上安装Postgres数据库

在安装完成并且可以正常使用之后,参考官网多数据库服务支持-PostgreSQL创建waline数据库。

您需要在postgres中运行一下waline提供的脚本waline.pgsql

搭建Waline系统

部署Waline的方式也有很多种,这里我们只说两种,一种是Vercel部署,一种是docker部署,先从简单的Vercel开始吧。

方式一:Vercel+leancloud

接下来继续在vercel中部署我们的waline系统。

参考waline官网教程

Vercel会在你的github中使用一个仓库部署,当你修改仓库里面的内容的时候就会触发Vercel自动部署。

Vercel部署完成之后,你可以直接去点击下面的链接去访问,并输入留言进行测试。

default

上面红圈中的链接就是waline的服务地址,在博客主题配置中就是使用的这个地址,在这个地址后面加上/ui,就可以访问到waline管理员后台了。

可能会遇到的问题

当把这段地址填写到博客的配置中时,可能会发现还是无法评论,或者可以评论了,却加载不出来博客侧边栏的最近留言信息,这是因为部署在vercel导致的跨域问题。

您需要再您的github仓库中,找到作为Waline存储的仓库中根目录下的vercel.json文件,填写一下运行跨域的headers配置,保存后vercel会自动重新部署。

1
{
2
"name": "comment",
3
"github": {
4
"silent": true
5
},
6
"builds": [
7
{
8
"src": "index.js",
9
"use": "@vercel/node"
10
}
11
],
12
"rewrites": [
13
{
14
"source": "/(.*)",
15
"destination": "index.js"
11 collapsed lines
16
}
17
],
18
"headers": [
19
{
20
"source": "/(.*)",
21
"headers": [
22
{ "key": "Access-Control-Allow-Origin", "value": "*" }
23
]
24
}
25
]
26
}

因为docker-compose比较便于管理,所以推荐docker功能都是使用docker-compose来安装。

方式二:docker+postgres

docker-compose.yml
1
version: '3'
2
services:
3
waline:
4
container_name: waline
5
image: lizheming/waline:latest
6
restart: unless-stopped
7
ports:
8
- 8080:8360 # 这个地方的端口请自行修改
9
environment:
10
TZ: 'Asia/Shanghai'
11
IPQPS: 30 # 设置发布频率限制为30s,默认是60s
12
SITE_NAME: "xxxxxx" # 在发送邮件通知的时候,会带上这个网站标题
13
LEVELS: "0,10,20,50,100,200" # 设置level等级
14
SITE_URL: 'https://cirry.cn' # 网站/博客地址
13 collapsed lines
15
SECURE_DOMAINS: 'cirry.cn' # 网站/博客域名
16
AUTHOR_EMAIL: 'xxxxxx' # 作者email,此邮箱会收到邮件通知
17
PG_HOST: xxxxxx # 数据库地址,请自行填写,使用的postgers数据库
18
PG_PORT: 35432 # 数据库端口
19
PG_DB: astroblog # 数据库库名
20
PG_USER: xxxxxx # 数据库用户
21
PG_PASSWORD: xxxxxx # 数据库密码
22
SMTP_HOST: "smtp.qq.com" # 如果你用的qq邮箱通知,后面两个不用改
23
SMTP_PORT: 465 #
24
SMTP_USER: "xxxxxx@qq.com" # qq邮箱
25
SMTP_PASS: "xxxxxx" # 请自行在qq邮箱中获取
26
SMTP_SECURE: "true"
27
SENDER_NAME: "cirry"

邮箱的smtp服务商内容如何查找和填写可以来这里查看:https://github.com/nodemailer/nodemailer/blob/master/lib/well-known/services.json

在创建的docker-compose的文件下,使用如下命令即可启动容器。

Terminal window
1
docker compose up -d # windows可以输入docker后自动补全命令

方式三:docker + leancloud

Terminal window
1
docker run -d \
2
-e LEAN_ID=xxx \
3
-e LEAN_KEY=xxx \
4
-e LEAN_MASTER_KEY=xxx \
5
-p 8360:8360 \
6
lizheming/waline

通过nginx或者caddy代理之后,打开对应的网站后面加上/ui,即可登录waline的管理界面,网站地址应类似:https://waline.xxxx.xxx:8080/ui

本文标题:安装waline评论功能
文章作者:Cirry
发布时间:2022-09-19
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
感谢大佬送来的咖啡☕
alipayQRCode
wechatQRCode