惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
博客园 - 三生石上(FineUI控件)
博客园_首页
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
B
Blog RSS Feed
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
雷峰网
雷峰网
GbyAI
GbyAI
M
MIT News - Artificial intelligence
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
Recent Announcements
Recent Announcements
小众软件
小众软件
量子位
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏

云藉のBlog

自己总结的钢四pve经验(一) 第五年 近况·丙午大暑 相册·上海之行 相册·南京之行 随笔·一种名为爱好的坎 近况·丙午立夏 近况·丙午惊蛰 近况·乙巳立春 2026 近况·乙巳冬至 近况·乙巳重阳 近况·乙巳秋分 数据结构·单链表 近况·乙巳·夏 四年 十八 青岛六十七中校歌 近况·6月9日 二〇二五 近况·甲辰·夏 三周年 十七·启航 近况·甲辰·春
在自己的服务器上部署Waline
云藉 · 2025-10-09 · via 云藉のBlog

起因

原先waline部署在vercel上,但是经常访问速度慢,效率比较低。故打算在自己的云服务器上部署waline。

部署

在宝塔面板和腾讯云平台上开放端口8360。

把waline给clone下来。

1
2
git clone https://github.com/walinejs/waline.git
cd waline

添加配置文件。

1
vim ./.env

按键盘上的I,开始编辑,配置好相应的环境变量。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 基本配置
SITE_NAME=
SITE_URL=

# 显示配置
LEVELS='0,10,20,50,100,200'

# 安全配置
SECURE_DOMAINS=

# 邮件配置
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASS=
AUTHOR_EMAIL=

# MySQL配置
MYSQL_DB=
MYSQL_USER=
MYSQL_PASSWORD=

info 在SECURE_DOMAINS这个环境变量中,博客域名和waline部署的域名都要有,不然博客中无法正常显示评论

Esc,输入:wq保存并退出。

然后用Docker构建镜像并部署。

1
2
docker build -t lizheming/waline -f packages/server/Dockerfile .
docker run -d --env-file .env -p 8360:8360 lizheming/waline

添加反向代理

在宝塔面板的站点修改中,点击配置文件,把以下内容覆盖上去:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
server
{
listen 80;
listen 443 ssl ;
http2 on;
server_name your.domain.server.name;

root /www/wwwroot/your.domain.server.name;
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
#CERT-APPLY-CHECK--START
# 用于SSL证书申请时的文件验证相关配置 -- 请勿删除
include /www/server/panel/vhost/nginx/well-known/your.domain.server.name.conf;
#CERT-APPLY-CHECK--END
include /www/server/panel/vhost/nginx/extension/your.domain.server.name/*.conf;

#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
ssl_certificate /www/server/panel/vhost/cert/your.domain.server.name/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/your.domain.server.name/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";

# proxy to 8360
location / {
proxy_pass http://127.0.0.1:8360;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
# cache
add_header Cache-Control no-cache;
expires 12h;
}
}