手动部署CloudFlare-ImgBed图床

手动部署

如果Cloudflare的有限访问次数不能满足你的需求,并且你拥有自己的服务器,可以参照本节的教程在服务器上模拟Cloudflare的环境,并开放对应的端口访问服务。

注意

由于服务器操作系统、硬件版本复杂多样,相关教程无法确保适合每一位用户,遇到报错请尽量利用搜索引擎解决,无法解决也可以提issue寻求帮助。

📂 前置要求

拥有一台可以正常访问的Linux/Windows服务器
服务器已安装Node.js环境(推荐v22.5.1版本)
具备基本的命令行操作能力

🚀 部署步骤

  1. 安装Node.js
    安装服务器操作系统对应的node.js,经测试v22.5.1版本可以正常使用。

  2. 获取项目代码克隆项目仓库

git clone https://github.com/MarSeventh/CloudFlare-ImgBed.git
cd CloudFlare-ImgBed
  1. 安装依赖
    切换到项目根目录,运行npm install,安装所需依赖:
npm install
  1. 创建配置文件在项目根目录下新建wrangler.toml配置文件,其内容为项目名称,环境变量等。
name = "cloudflare-imgbed"
compatibility_date = "2024-07-24"

# 如果需要设置环境变量,可以在这里添加
# [vars]
# AUTH_CODE = "your_auth_code"
# TG_BOT_TOKEN = "your_bot_token"
# TG_CHAT_ID = "your_chat_id"

详情参见官方文档:Configuration - Wrangler (cloudflare.com)

  1. 启动服务
    在项目根目录下运行npm run start:
npm run start

正常启动后,控制台输出类似如下内容:

⎔ Starting local server…
⎔ Using namespace binding img_url
⎔ Using R2 binding img_r2
✅ Ready on http://localhost:8080
服务启动成功

至此,正常情况下项目已经成功部署。程序默认运行在8080端口上。

⚙️ 自定义配置

  1. 修改端口
    如需修改端口,可在package.json中修改start脚本的port参数:
"scripts": {
"ci-test": "concurrently --kill-others \"npm start\" \"wait-on http://localhost:8080 && mocha\"",
"test": "mocha",
"start": "npx wrangler pages dev ./ --kv \"img_url\" --r2 \"img_r2\" --port 8080 --persist-to ./data"
}

将–port 8080修改为你想要的端口号。

持久化数据
数据将自动保存在项目目录下的./data文件夹中,确保该目录有足够的读写权限。

  1. 部署成功后用pm2实现开机自启动
cd /www/wwwroot/CloudFlare-ImgBed
pm2 start npm --name CloudFlare-ImgBed -- run start
pm2 list
pm2 startup
# 按提示执行输出的命令
pm2 save