Vercel部署Typecho动态博客

前言

由于vercel免费用户仅只有1GB的运行内存(当然如果你有钱也可以支持一下官方,开个vip用户也可以),所以不可运行过大的占用内存的应用程序,有些主题可能会消耗过多内存导致一些功能失效或者直接停止,所以在使用前请对相关内容进行了解后在使用

如果你想使用wordpress的话,请自行摸索,因为我对php不是很了解
目前我使用的是hexo搭建静态博客(因为hexo自由度高,可定制度高、已于理解以及修改)
我还写了个hexo主题Hexo-Theme-MengD,欢迎大家前来观看(挑毛病、挑bug嘻嘻)

原文:https://blog.imlete.cn/article/Vercel-Deploy-Typecho.html
相信很多人会和我一样 what? Vercel 什么时候能部署 PHP 了?我怎么不知道?(我使用 Vercel 有一年时间了,我居然不知道,之前的 Vercel 文档白看了?)

在此感谢: am-abudu大佬的 Vercel 实例
随后就去查Vercel 文档,果然发现了能部署 PHP
Vercel-PHP 地址:juicyfx/vercel-php
本文 Github 仓库: https://github.com/lete114/Vercel-Typecho

准备工作

  1. Github 账号
  2. Vercel 账号
  3. 下载 Typecho 程序(官网)
  4. 自己喜欢的 Typecho 主题(主题官网)
  5. 数据库(MySQL、PostgreSQL、SQLite)

正文

关于部署项目到 Vercel 有两种方式

  1. 使用 Vercel CLI 进行部署
  2. 使用第三方库进行拉去(GitHub、GitLab、Bitbucket)

我个人是比较喜欢使用 Vercel CLI 的,但在这里我为了照顾大家,我还是使用git push到 Github 后再让 Vercel 来拉取的方式

  1. 创建 Github 仓库:Vercel-Typecho
  2. 本地解压 Typecho 程序
    解压后会得到 bulid 目录内容如下
    Vercel部署Typecho动态博客_第1张图片

Vercel 依赖

在 bulid 目录下新建vercel.json

{
  "functions": {
    "api/index.php": {
      "runtime": "[email protected]"
    }
  },
  "routes": [{ "src": "/(.*)", "dest": "/api/index.php" }]
}

在 bulid 目录下新建config.inc.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);

在 bulid 目录下新建api/index.php


$file= __DIR__ . '/..'.$_SERVER["PHP_SELF"];

if(file_exists($file))
{
   return false;
}
else
{
    require_once __DIR__ . '/../index.php';
}
#echo $_SERVER["PHP_SELF"];

自定义主题

到 Typecho 官网下载自己喜欢的主题解压放到bulid/usr/themes/目录下即可(本文只提供部署教程,则使用默认主题)
Vercel部署Typecho动态博客_第2张图片

准备数据库

GearHost 数据库现已不可用
目前推荐: (我没用过)

  1. FreeDB
  2. ElephantSQL

数据库渠道有很多,你可以选择花钱买数据库,也可以白嫖(当然你不怕你文章丢失的话(白嫖有风险))
我这里推荐一个平台,算是比较稳的,这个平台我用了差不多快一年了吧,记不太清了,但是速度不是很快、而且存储只有 5MB,我 hexo 博客文章有 70+文章,目前占用 400+kb,5MB 因该够写好几百篇的文章了
GearHost: GearHost

部署

上个步骤已经获取了数据库,将数据库信息填入bulid/confi.inc.php

最后克隆已经创建好的 Github 仓库: https://github.com/lete114/Vercel-Typecho
克隆后得到Vercel-Typecho目录,且里面包含.git,将bulid里的全部文件及文件夹复制到Vercel-Typecho目录下

# 添加所有文件到暂存区
git add .
# 提交
git commit -m'Vercel-Deploy-Typecho'
# 推送到远程仓库
git push

创建 Vercel 项目:Vercel-Typecho(该昵称可以不与 GitHub 仓库同名)

Vercel部署Typecho动态博客_第3张图片
Vercel部署Typecho动态博客_第4张图片
Vercel部署Typecho动态博客_第5张图片
Vercel部署Typecho动态博客_第6张图片
Vercel部署Typecho动态博客_第7张图片

最后自己绑定域名,或者自己自定义域名,打开链接
Vercel部署Typecho动态博客_第8张图片
Vercel部署Typecho动态博客_第9张图片
Vercel部署Typecho动态博客_第10张图片
Vercel部署Typecho动态博客_第11张图片
Vercel部署Typecho动态博客_第12张图片

你可能感兴趣的:(教程,typecho,vercel,hexo,blog,博客)