coverview 博客文章封面部署
本文适用于需要为博客文章批量生成封面的场景。你会学到:用 Coverview 搭建一个本地封面生成服务,并用 pm2 持久化运行、nginx 反向代理对外提供访问。
因为 Typecho-Butterfly 主题需要文章封面,我就选择了这个快速生成文章封面的项目 Coverview。
项目介绍
Coverview 是一个开源的封面生成工具,特性包括:
- 🚀 快速且易用
- 🌈 4 种主题、多种字体
- 🌠 100+ 开发者图标,支持上传自定义图标
- ✨ 15+ 背景图案
- 💾 按博客平台尺寸生成封面(如 hashnode、dev)
安装 Node.js 环境
项目基于 Node.js 运行,先安装 npm 环境。参考 nodesource 安装文档。
安装前确保 curl 已安装:
apt-get install -y curl
下载安装脚本
curl -fsSL https://deb.nodesource.com/setup_current.x -o nodesource_setup.sh运行安装脚本
bash nodesource_setup.sh安装 Node.js
apt-get install -y nodejs验证安装
node -v
下载 Coverview
mkdir -p /opt/npm/Coverview && cd /opt/npm/Coverview
git clone https://github.com/rutikwankhade/CoverView.git
持久化运行 Coverview
用 pm2 将服务常驻后台:
npm install -g pm2
pm2 start npm --name "coverview" -- start
查看运行状态:
pm2 list
nginx 反代
nginx 反代配置文件
Coverview 默认监听 127.0.0.1:3000,通过 nginx 反代对外提供服务:
server {
listen 30001;
server_name yourname.com;
#access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://127.0.0.1:3000/; #coverview 监听 127.0.0.1:3000
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
}
}
测试并重载配置:
nginx -t
nginx -s reload
验证与自查
pm2 list中 coverview 进程状态为onlinecurl http://127.0.0.1:3000返回页面内容curl -H "Host: yourname.com" http://127.0.0.1:30001通过域名端口可访问- 浏览器打开封面生成页,确认主题、图标、背景均可正常渲染
注意:新部署的
coverview需要使用 nginx 反代。如果直接使用 cloudflared 将 coverview 映射到公网,会导致访问失败。