Skip to content

myhome-git/cloudflare-myblog-api

Repository files navigation

Cloudflare Worker 项目配置说明

  • 如果遇到问题需要可以入群1020935359,管理员有时间会在第一时间解答
  • 涉及到数据库的创建,cloudflare官方没有sql导入的地方,所以本地部署
  • 这个只是后台api接口,配套前台在下方的地址
  • 选择前后端分离的原因是前台可以部署在任何地方,然后调用我们线上的接口和数据库,比如你搭建在自己的路由器上,可以达到最快的访问速度

项目配置步骤(本地部署方法)

项目地址

https://github.com/myhome-git/cloudflare-myblog-api.git

fork后拉取代码

需要先fork这个代码库,数据库的创建需要在本地执行命令创建,也方便后期修改或者使用actions部署

git clone https://github.com/myhome-git/cloudflare-myblog-api.git

初始化本地环境

我使用的是bun,你也可以使用npm,大同小异,初始化项目

bun install

安装wrangler(wrangler更新频繁,所以没有进行默认安装到项目)

bun install @cloudflare/wrangler --save

登陆自己的cloudflare账户

执行命令

bun dev

执行·bun dev,执行后会弹出登陆提示,复制url地址到浏览器打开,然后进行账户验证,然后让你跳转到一个localhost的地址,有可能会失败,这并非是我代码的问题,而是cloudflare的登陆机制就这样,如果遇到验证失败,请本地开启nginx,代理那个端口,然后命令行使用命令行curl那个地址就行,具体错误记不清了,下面是nginx关键部分配置

stream {
    upstream cloudsocket {
       hash $remote_addr consistent;
       server 127.0.0.1:5173 weight=5 max_fails=3 fail_timeout=30s;
    }
    server {
       listen 8976;#数据库服务器监听端口
       proxy_connect_timeout 10s;
       proxy_pass cloudsocket;
    }
}

创建数据库(线上数据库操作)

创建数据库,本地和远程关键字分别为local、remote,如果创建失败,则从浏览器打开cloudflare官网创建即可

npx wrangler d1 create db_myblog --remote

初始化数据库,后台登录默认用户名和密码是admin

npx wrangler d1 execute db_myblog --remote --file=./database/db_sqlite_myblog_2025-08-08.sql

浏览器登陆cloudflare,找到刚才创建的数据库,首页->存储和数据库->D1 SQL数据库->db_myblog,找到浏览器地址里边有一串比较长的随机字符串da773828-46b4-xxxx-9778-xxxxxxxx就是数据库的id,我们后期需要配置。

创建存储桶,如果不需要数据库备份功能,可以不理会

首页->存储和数据库->R2对象存储->概述->创建存储桶,输入bt-myblog-database,默认存储类一定要选标准、一定要选标准、一定要选标准,这个才是每个月的免费额度。

修改项目的wrangler.jsonc文件,每个配置都有两处,分别是开发环境和部署环境

  • database_id,为自己的数据库id
  • USER_TOKENS,用户登录后台后的请求秘钥,可以是任何值

测试项目是否正常

bun dev

如果没有报错,并且出现启动端口,就表示项目正常

部署项目

bun run deploy

成功后就部署到cloudflare了

绑定项目域名

首页->计算(workers)->worker-myblog->设置->域和路由->添加->路由

  • 选择自己的域名,例如:xxx.com
  • 路由,例如:blog.xxx.com/api/*,把其中的blog.xxx.com换成你自己的域名,我们一会部署前端页面时的地址就是blog.xxx.com,后端的请求地址都是./api开头的,所以我们这样配置。

测试api接口是否正常(可以等到pages部署后再测试)

浏览器访问地址:https://blog.xxx.com/api/test/index,如果返回数据则部署成功

前端地址

https://github.com/myhome-git/cloudflare-myblog

其它说明

MIT License - 免责声明

本项目(或称“本软件”)以 MIT 许可证发布。根据 MIT 许可证的条款,对于因使用本软件而引起的任何后果,项目作者和贡献者不承担任何责任。 重要提示:请在使用本软件前仔细阅读本免责声明和 MIT 许可证全文。 免责声明:

  1. 无担保性质: 本软件“按原样”提供,不提供任何明示或暗示的担保,包括但不限于适销性、特定用途的适用性以及不侵权的隐含担保。在任何情况下,项目作者或贡献者均不对任何索赔、损害或其他责任负责,无论是合同诉讼、侵权诉讼还是其他诉讼,无论是因本软件或本软件的使用或其他交易而引起的、导致的或与之相关的。
  2. 使用者责任: 阁下自行承担使用本软件的全部风险。阁下有责任在使用本软件之前充分测试其功能和安全性,并确保其符合阁下的特定需求和法律法规要求。
  3. 无承诺支持: 本项目作者和贡献者没有义务提供技术支持、更新、修复 Bug 或进行维护。尽管我们可能会根据自身意愿提供,但这并非一项承诺。
  4. 第三方组件: 本软件可能包含或依赖第三方库、组件或服务,这些组件可能拥有其独立的许可证和免责条款。使用者有责任查阅并遵守所有相关第三方许可证的规定。对于第三方组件的缺陷、安全漏洞或任何后果,本项目作者和贡献者不承担任何责任。
  5. 不适用于高风险应用: 本软件不适用于生命支持系统、核设施、航空导航或通信系统、空中交通管制以及其他任何可能导致死亡、人身伤害、环境破坏或重大财产损失的“高风险应用”。将本软件用于此类目的,使用者自行承担所有风险。
  6. 代码质量与安全性: 我们尽力确保代码质量,但不能保证本软件完全没有错误、缺陷、安全漏洞或不中断运行。我们建议使用者在使用前自行进行代码审查和安全审计。
  7. 许可变更: 本项目所使用的 MIT 许可证可能会在未来被新的版本或不同的许可证所替代。任何此类变更将通过项目的官方发布渠道进行通知。阁下应始终参照项目根目录下的 LICENSE 文件(或类似文件)获取最准确的许可信息。 通过使用、复制、修改、合并、发布、分发、再许可和/或销售本软件的副本,即表示您已阅读、理解并同意本免责声明和 MIT 许可证的所有条款。

开发环境

运行以下命令启动开发服务器:

npx wrangler dev

我使用的是bun,大同小异,大家可以根据自身情况修改package.json

# 开发环境
bun dev

# 构建
bun run build

# 部署
bun run deploy

注意事项

  1. 代码压缩通过 minify 选项实现。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published