惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
aimingoo的专栏
aimingoo的专栏
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
J
Java Code Geeks
G
Google Developers Blog
N
Netflix TechBlog - Medium
Vercel News
Vercel News
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Blog of Author Tim Ferriss
罗磊的独立博客
GbyAI
GbyAI
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

茗辰原

DeepSeek Harness安装使用及美化教程 利用AI制作自己的工作台 收藏一时爽,清理要我命 免Token登录的Cloudflare移动管理客户端 零成本搭建自己的影视库Quonnki项目 开源某克自动签到领取免费空间项目 Astro Gyoza 内容标签使用指南 内容标签使用指南 | 茗辰原 利用AI从Hexo迁移到Astro | 茗辰原 Cloud Photography | Galleries | 茗辰原 博客周浏览量又突破了! | MingCY 博客周浏览量又突破了! | 茗辰原 博客周浏览量又突破了! Twikoo配置图床S3/R2 抖音推流助手工具 收到"好站网"的抱枕了! 开了VPN但真实IP被WebRTC泄露 5.10母亲节 | MingCY 5.10母亲节 5.10母亲节 18成人礼 TheOne陪伴接入WX Bing免费送B站月卡 让AI替你SSH进服务器,5分钟搞定故障排查! 基于Cloudflare R2搭建免费云盘 关于我的近视手术 你真的会刷牙吗? Urban Photography — Layered City | Galleries | MingCY 内网穿透监控软件TailScale AI控制手机
Vercel部署Typecho 博客 | MingCY
茗辰原 · 2024-05-25 · via 茗辰原

前言

相信很多人不知道 Vercel 可以部署 PHP,可以在 Vercel 文档 中看到确实支持

准备工作

  1. Github 账号
  2. Vercel 账号
  3. Typecho 程序
  4. 数据库
  5. 自己的域名(可选,国内注册可以首年1元甚至免费)部署完成之后默认会给你的项目分配一个 vercel.app 的三级域名,但是在 2021 年 vercel.app 域名被墙,大陆地区无法访问,因此强烈建议自己准备域名

过程

  1. 创建 Github 仓库
  2. 本地解压 Typecho 程序
  3. 在根目录下新建 vercel.json 并填入以下代码
{
  "functions": {
    "api/index.php": {
      "runtime": "vercel-php@0.6.0"
    }
  },
  "routes": [{ "src": "/(.*)", "dest": "/api/index.php" }]
}
  1. 在根目录下新建 config.inc.php 并填入以下代码
<?php
/**
 * Typecho Blog Platform
 *
 * @copyright  Copyright (c) 2008 Typecho team (http://www.typecho.org)
 * @license    GNU General Public License 2.0
 * @version    $Id$
 */

/** 开启https */
define('__TYPECHO_SECURE__',true);

/** 定义根目录 */
define('__TYPECHO_ROOT_DIR__', dirname(__FILE__));

/** 定义插件目录(相对路径) */
define('__TYPECHO_PLUGIN_DIR__', '/usr/plugins');

/** 定义模板目录(相对路径) */
define('__TYPECHO_THEME_DIR__', '/usr/themes');

/** 后台路径(相对路径) */
define('__TYPECHO_ADMIN_DIR__', '/admin/');

/** 设置包含路径 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . '/var' . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);

/** 载入API支持 */
require_once 'Typecho/Common.php';

/** 程序初始化 */
Typecho_Common::init();

/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
  'host' => '数据库地址',
  'user' => '数据库用户名',
  'password' => '数据库密码',
  'charset' => 'utf8mb4',
  'port' => '3306',
  'database' => '数据库名称',
  'engine' => 'MyISAM',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);
  1. 在根目录下新建 /api/index.php 并填入以下代码
<?php
$file= __DIR__ . '/..'.$_SERVER["PHP_SELF"];

if(file_exists($file))
{
   return false;
}
else
{
    require_once __DIR__ . '/../index.php';
}
#echo $_SERVER["PHP_SELF"];
  1. 下载一个自己心仪的主题解压放到 /usr/themes/ 目录下

  2. 将所有文件上传到第一步创建好的 GitHub 仓库里

  3. 打开 Vercel 然后通过 GitHub 快捷登录

    https://cdn.xalaok.top/images/blog/2023/05/06/4.jpg

  4. 登陆后会自动跳转 Dashboard,点击 Add new - Project

    https://cdn.xalaok.top/images/blog/2023/05/06/5.jpg

  5. Import Git Repository 选择 Continue With GitHub此时会跳转到 GitHub 批准 Vercel 访问,建议选择允许访问全部仓库,当然你也可以设置仅可访问部分仓库。

  6. 选择你的仓库

  7. 即将开始部署,在这个界面你可以设置项目名称(可以随意设置),其他项全部保持默认即可,最后点击 Deploy 部署

  8. 部署成功后会显示 Congratulation 页面

  9. 如果你有域名,直接从此界面右边“Add Domain”进入添加域名,Vercel 会自动生成 SSL 证书(开启 https)。没有的话直接右上角“Go to Dashboard”就可以看到 Vercel 为你准备的域名

  10. 打开 https://你的网址/install.php 初始化

SO easy!