Vercel 部署 Typecho 动态博客
本文由 简悦 SimpRead 转码, 原文地址 blog.imlete.cn
前言
感谢: am-abudu 大佬的 Vercel 实例
相信很多人会和我一样 what? Vercel 什么时候能部署 PHP 了?我怎么不知道?(我用 Vercel 也有一年时间了,我居然不知道,之前的 Vercel 文档白看了?)
然后我就去查 Vercel 文档,果然发现了能部署 PHP
Vercel-PHP 地址:juicyfx/vercel-php
本文 Github 仓库: https://github.com/lete114/Vercel-Typecho
准备工作
正文
关于部署项目到 Vercel 有两种方式
- 使用 Vercel CLI 进行部署
- 使用第三方库进行拉去 (GitHub、GitLab、Bitbucket)
我个人是比较喜欢使用 Vercel CLI 的,但在这里我为了照顾大家,我还是使用git push
到 Github 后再让 Vercel 来拉取的方式
- 创建 Github 仓库:Vercel-Typecho
- 本地解压 Typecho 程序
解压后会得到 bulid 目录内容如下
Vercel 依赖
在 bulid 目录下新建vercel.json
{
"functions": {
"api/index.php": {
"runtime": "vercel-php@0.4.0"
}
},
"routes": [{ "src": "/(.*)", "dest": "/api/index.php" }]
}
在 bulid 目录下新建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);
在 bulid 目录下新建api/index.php
<?php
$file= __DIR__ . '/..'.$_SERVER["PHP_SELF"];
if(file_exists($file))
{
return false;
}
else
{
require_once __DIR__ . '/../index.php';
}
自定义主题
到 Typecho 官网下载自己喜欢的主题解压放到bulid/usr/themes/
目录下即可 (本文只提供部署教程,则使用默认主题)
准备数据库
GearHost 数据库现已不可用
目前推荐: (我没用过)
数据库渠道有很多,你可以选择花钱买数据库,也可以白嫖 (当然你不怕你文章丢失的话 (白嫖有风险))
我这里推荐一个平台,算是比较稳的,这个平台我用了差不多快一年了吧,记不太清了,但是速度不是很快、而且存储只有 5MB,我 hexo 博客文章有 70 + 文章,目前占用 400+kb,5MB 因该够写好几百篇的文章了
~GearHost: GearHost~
具体注册就不多说了 (大陆 IP 会被拦截)
这个平台支持 PHP 程序,可以直接部署 Typecho,而且还提供数据库,且数据库支持非本平台连接,我觉得速度不行
部署
上个步骤已经获取了数据库,将数据库信息填入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 仓库同名)
最后自己绑定域名,或者自己自定义域名,打开链接
常见问题
- 在使用官方下载的 1.1 正式版部署时后进行安装会出现如下警告
此问题博主也不知道如何解决,如果你已解决可以在评论区留言,我会将留言添加到此处
- (目前已解决,可能与
config.inc.php
文件的配置有关,先已添加注释,这也可能是我的个人原因) 进入后台样式缺失,要求使用 https 请求,可在安装的时候填写的的确是 https,它为什么会出现该问题,可能是程序的原因,有或者其他原因我也不清楚,如果有人已解决可在评论区留言,我会将留言添加到此处