Typecho Vercel + Supabase 部署指南
之前的博客和梯子部署在同一台机器上,梯子被封,博客也一起挂掉了。最近又想用 vervel 托管 typecho ,数据库使用supabase的postgres数据库,参考网上的教程一直没成功,postgres 一直提示不支持,向 vercel-php 提 issue 之后,官方给了响应,因此有了这篇文章,记录如何低成本拥有自己的博客程序。
概述
此指南为在Vercel上运行Typecho博客系统,使用Supabase作为PostgreSQL数据库。
当前配置
Vercel配置
- 使用
vercel-php@0.7.4
运行时 - 所有请求路由到
api/index.php
- 支持PHP 7.4+
数据库配置
- 使用Supabase PostgreSQL数据库
- 采用PDO PostgreSQL驱动
- 支持SSL连接
- 使用环境变量管理敏感信息
部署步骤
1. 准备Supabase数据库
- 在Supabase控制台创建新项目
获取数据库连接信息:
- 主机地址
- 端口号
- 用户名
- 密码
- 数据库名
2. 初始化数据库表
在Supabase的SQL编辑器中执行 install/Pgsql.sql
文件中的SQL语句,创建Typecho所需的表结构。
3. 下载代码并配置vervel环境变量
git clone https://github.com/sam8877/typecho-vercel.git
在typecho-vercel目录下新建文件,名称为 .env
,内容如下,请替换为自己的数据库配置
DB_HOST=your-supabase-host
DB_PORT=6543
DB_USER=your-supabase-user
DB_PASSWORD=your-supabase-password
DB_NAME=postgres
4. 部署到Vercel
# 安装Vercel CLI
npm i -g vercel
# 登录Vercel
vercel login
# 部署项目
vercel --prod
5. 完成安装
部署完成后,访问您的Vercel域名,Typecho会自动跳转到安装页面。按照安装向导完成配置。
注意事项
文件上传限制
Vercel是无服务器环境,不支持传统的文件上传。如果需要文件上传功能,建议:
- 使用外部存储服务(如AWS S3、Cloudinary)
- 开发插件来处理文件上传到外部存储
新站呀,来看看