𝙡𝙞𝙩𝙨𝙘𝙤𝙧𝙥𝙞'𝙨 博客

  • 首页
  • 隐私政策
  • 小工具
𝐓𝐡𝐞 𝐋𝐚𝐤𝐞 𝐇𝐨𝐮𝐬𝐞
  1. 首页
  2. 收集
  3. 正文

Cloudflare Pages 部署 _ CloudFlare ImgBed

2026-02-26 52点热度 0人点赞 0条评论

Cloudflare Pages 部署 ​

Cloudflare Pages 是推荐的部署方式,提供免费托管、全球 CDN 加速和无需服务器维护的优势。

📂 第一步:Fork 项目 ​

  1. 访问 CloudFlare ImgBed 项目
  2. 点击右上角的 "Fork" 按钮
  3. 选择您的 GitHub 账户
  4. 确认 Fork 完成

🏗️ 第二步:创建 Pages 项目 ​

2.1 访问 Cloudflare Dashboard ​

  1. 登录 Cloudflare Dashboard
  2. 选择左侧菜单的 "计算和 AI" -> "Workers & Pages"
  3. 点击 "创建应用程序"
  4. 在最下方 Looking to deploy Pages? 选择 "Get started"
  5. 在 "导入现有 Git 存储库" 处点击 "开始使用"

2.2 连接 GitHub 仓库 ​

  1. 如果首次使用,需要授权 Cloudflare 访问 GitHub
  2. 选择您 Fork 的 CloudFlare-ImgBed 仓库
  3. 点击 "开始设置"

2.3 配置项目设置 ​

配置项 值 说明
项目名称 cloudflare-imgbed(或自定义) 项目标识符
生产分支 main 生产环境分支
构建命令 npm install 重要:v2.0 新构建命令
构建输出目录 / 保持默认

重要提醒

v2.0 版本的构建命令已变更为 npm install,请确保使用正确的构建命令。

2.4 部署项目 ​

  1. 点击 "保存并部署"
  2. 等待首次部署完成(约 2-3 分钟)

🗄️ 第三步:配置数据库 ​

数据库用于存储文件元数据,是必需的组件,可选数据库为 KV 数据库和 D1 数据库。两者对比如下表所示,根据自己使用场景从其中选择一种配置即可。

特点 KV 数据库 D1 数据库
读写性能 高 较低
免费额度 少 多

重要提示

KV 数据库和 D1 数据库只需要配置其中一个即可,不需要同时配置两个!建议根据上表选择适合自己的数据库类型。

3.1 KV 数据库配置 ​

创建 KV 命名空间 ​

  1. 在 Cloudflare Dashboard 中选择 "存储和数据库"
  2. 点击 "Workers KV"
  3. 点击 "创建实例"
  4. 输入命名空间名称:img_url(建议使用此名称)
  5. 点击 "创建"

绑定 KV 到项目 ​

  1. 返回您的 Pages 项目
  2. 选择 "设置" → "绑定"
  3. 点击 "添加" → "KV 命名空间"
  4. 填写绑定信息:
    • 变量名称:img_url(必须是这个名称)
    • KV 命名空间:选择刚创建的命名空间
  5. 点击 "保存"

注意

绑定 KV 时,变量名称必须为 img_url,这是项目预设的变量名,填错会出现无法进入管理界面等情况。

3.2 D1 数据库配置 ​

创建 D1 数据库 ​

  1. 在 Cloudflare Dashboard 中选择 "存储和数据库"
  2. 点击 "D1 SQL 数据库"
  3. 点击 "创建数据库"
  4. 输入数据库名称:img_d1(建议使用此名称)
  5. 点击 "创建"

初始化 D1 数据库 ​

  1. 创建完成后,点击进入数据库详情页
  2. 选择 "控制台" 选项卡
  3. 在 SQL 输入框中粘贴并执行注释区域以下的内容(见项目仓库)
CREATE TABLE IF NOT EXISTS files (

id TEXT PRIMARY KEY,

value TEXT,

metadata TEXT NOT NULL,

file_name TEXT,

file_type TEXT,

file_size TEXT,

upload_ip TEXT,

upload_address TEXT,

list_type TEXT,

timestamp INTEGER,

label TEXT,

directory TEXT,

channel TEXT,

channel_name TEXT,

tg_file_id TEXT,

tg_chat_id TEXT,

tg_bot_token TEXT,

is_chunked BOOLEAN DEFAULT FALSE,

tags TEXT,

created_at DATETIME DEFAULT CURRENT_TIMESTAMP,

updated_at DATETIME DEFAULT CURRENT_TIMESTAMP

);

CREATE TABLE IF NOT EXISTS settings (

key TEXT PRIMARY KEY,

value TEXT NOT NULL,

category TEXT,

description TEXT,

created_at DATETIME DEFAULT CURRENT_TIMESTAMP,

updated_at DATETIME DEFAULT CURRENT_TIMESTAMP

);

CREATE TABLE IF NOT EXISTS index_operations (

id TEXT PRIMARY KEY,

type TEXT NOT NULL,

timestamp INTEGER NOT NULL,

data TEXT NOT NULL,

processed BOOLEAN DEFAULT FALSE,

created_at DATETIME DEFAULT CURRENT_TIMESTAMP

);

CREATE TABLE IF NOT EXISTS index_metadata (

key TEXT PRIMARY KEY,

last_updated INTEGER,

total_count INTEGER DEFAULT 0,

last_operation_id TEXT,

chunk_count INTEGER DEFAULT 0,

chunk_size INTEGER DEFAULT 0,

created_at DATETIME DEFAULT CURRENT_TIMESTAMP,

updated_at DATETIME DEFAULT CURRENT_TIMESTAMP

);

CREATE TABLE IF NOT EXISTS other_data (

key TEXT PRIMARY KEY,

value TEXT NOT NULL,

type TEXT,

description TEXT,

created_at DATETIME DEFAULT CURRENT_TIMESTAMP,

updated_at DATETIME DEFAULT CURRENT_TIMESTAMP

);

CREATE INDEX IF NOT EXISTS idx_files_timestamp ON files(timestamp DESC);

CREATE INDEX IF NOT EXISTS idx_files_directory ON files(directory);

CREATE INDEX IF NOT EXISTS idx_files_channel ON files(channel);

CREATE INDEX IF NOT EXISTS idx_files_file_type ON files(file_type);

CREATE INDEX IF NOT EXISTS idx_files_upload_ip ON files(upload_ip);

CREATE INDEX IF NOT EXISTS idx_files_created_at ON files(created_at DESC);

CREATE INDEX IF NOT EXISTS idx_files_tags ON files(tags);

CREATE INDEX IF NOT EXISTS idx_settings_category ON settings(category);

CREATE INDEX IF NOT EXISTS idx_index_operations_timestamp ON index_operations(timestamp);

CREATE INDEX IF NOT EXISTS idx_index_operations_processed ON index_operations(processed);

CREATE INDEX IF NOT EXISTS idx_index_operations_type ON index_operations(type);

CREATE INDEX IF NOT EXISTS idx_other_data_type ON other_data(type);

CREATE TRIGGER IF NOT EXISTS update_files_updated_at

AFTER UPDATE ON files

BEGIN

UPDATE files SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id;

END;

CREATE TRIGGER IF NOT EXISTS update_settings_updated_at

AFTER UPDATE ON settings

BEGIN

UPDATE settings SET updated_at = CURRENT_TIMESTAMP WHERE key = NEW.key;

END;

CREATE TRIGGER IF NOT EXISTS update_index_metadata_updated_at

AFTER UPDATE ON index_metadata

BEGIN

UPDATE index_metadata SET updated_at = CURRENT_TIMESTAMP WHERE key = NEW.key;

END;

CREATE TRIGGER IF NOT EXISTS update_other_data_updated_at

AFTER UPDATE ON other_data

BEGIN

UPDATE other_data SET updated_at = CURRENT_TIMESTAMP WHERE key = NEW.key;

END;
  1. 点击 "执行"

绑定 D1 到项目 ​

  1. 返回您的 Pages 项目
  2. 选择 "设置" → "绑定"
  3. 点击 "添加" → "D1 数据库"
  4. 填写绑定信息:
    • 变量名称:img_d1(必须是这个名称)
    • D1 数据库:选择刚创建的数据库
  5. 点击 "保存"

🔄 第四步:重新部署 ​

绑定数据库后需要重新部署以生效:

  1. 进入项目的 "部署" 页面
  2. 找到最新的部署记录
  3. 点击右侧的 "..." 菜单
  4. 选择 "重试部署"
  5. 等待部署完成

🚀 下一步 ​

至此已经完成项目在 Cloudflare Pages 的部署,但是尚未添加存储渠道,添加存储渠道和进行其他设置的方式请参考 配置说明。


源自:

Cloudflare Pages 部署 | CloudFlare ImgBed

Tag: #图床 #Github #CloudFlare

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 教程
最后更新:2026-02-27

litscorpi

久在樊笼里,复得返自然

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • Cloudflare Pages 部署 ​
    • 📂 第一步:Fork 项目 ​
    • 🏗️ 第二步:创建 Pages 项目 ​
      • 2.1 访问 Cloudflare Dashboard ​
      • 2.2 连接 GitHub 仓库 ​
      • 2.3 配置项目设置 ​
      • 2.4 部署项目 ​
    • 🗄️ 第三步:配置数据库 ​
      • 3.1 KV 数据库配置 ​
      • 3.2 D1 数据库配置 ​
    • 🔄 第四步:重新部署 ​
    • 🚀 下一步 ​
分类
  • 个人 / 101篇
  • 分享 / 239篇
  • 收集 / 21篇
标签聚合
代码 互联网 网站 学习 生活 美文 理财 娱乐 软件应用 资源分享 阅读 影视 工作 数码电子 clippings 阅历 AI 教程 音乐 我的剪辑 随笔 旅游
书签
  • icloud
  • office 365
  • OneNav
  • Todoist
  • YouTube
  • 微博
  • 抖音创作者中心
  • 知乎
  • 阿里云盘

COPYRIGHT © 2023 litscorpi's博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang