为什么用Vercel?
快速部署:Vercel是一个serverless平台,可以快速部署各种类型的应用程序,而且无需担心服务器的配置和管理问题。
自动构建:Vercel支持自动构建,只需要在Github或Gitlab上提交代码,Vercel就会自动构建和部署应用程序。
免费托管:Vercel提供免费的托管服务,可以免费托管静态网站、单页应用程序和服务器端渲染应用程序,并且没有流量限制。
CDN加速:Vercel使用全球CDN加速,可以提高应用程序的访问速度和稳定性。
移动端优化:Vercel支持移动端优化,可以自动适配不同的移动设备和屏幕尺寸,让应用程序在移动端展示更加优美。
支持多种语言和框架:Vercel支持多种编程语言和框架,如React、Vue、Next.js、Gatsby等,可以满足不同开发者的需求。
安全可靠:Vercel提供了高级的安全功能,如SSL证书、DDoS防护、安全扫描等,可以保障应用程序的安全性和可靠性。
什么是Railway?
Railway是一个基于Docker的云原生应用托管平台,可以让开发者轻松地将应用部署到云端。它支持多种编程语言和框架,如Node.js、Python、Ruby等,同时也支持多种数据库和缓存服务,如MySQL、PostgreSQL、Redis等。开发者可以通过简单的命令行操作,快速部署和管理自己的应用程序。
Railway还提供了一些有用的功能,如自动扩展、自动备份、SSL证书、日志管理等,可以帮助开发者更好地管理和维护自己的应用程序。此外,Railway还提供了一个应用市场,开发者可以在市场中找到各种有用的应用程序和服务,如Wordpress、Ghost、Discourse等,以及各种API服务,如短信、邮件、推送等。
总之,Railway是一个功能强大、易于使用、灵活扩展的云原生应用托管平台,可以帮助开发者更好地构建、部署和管理自己的应用程序。
1、首先基于Railway创建数据库
点击 Start a New Project;
![](https://storage.googleapis.com/papyrus_images/adb1c123e51fed5c299e1ae03bb3c43a.png)
选择 Provision MySQL;
![](https://storage.googleapis.com/papyrus_images/36020da56d18545e2b6f3f182ffe5cfa.png)
点击Connect 下滑,找到Available Variables,这里就是你数据库的信息,复制保存相关信息;
![](https://storage.googleapis.com/papyrus_images/88c1dcfbebb11d0b0be86919747f373b.png)
2、配置 Typecho
下载Typecho,点击正式版下载;
![](https://storage.googleapis.com/papyrus_images/a4efb3aa8e84dacba2aa5dcd07eede18.png)
![](https://storage.googleapis.com/papyrus_images/d47d9a86f5a29f8b6c91b62179820678.png)
解压下载下来的压缩包;
![](https://storage.googleapis.com/papyrus_images/2f0c578e52949c8022e4a2b88de69e6a.png)
编辑
install.php
,定位到第773行至775行,把这3行注释掉(前面加个#);
![](https://storage.googleapis.com/papyrus_images/8931023f3089c17ed46c8418f0d016ad.png)
添加
vercel.json
;
{
"functions": {
"api/index.php": {
"runtime": "vercel-php@0.5.2"
}
},
"routes": [{ "src": "/(.*)", "dest": "/api/index.php" }]
}
创建
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"];
创建
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' => '数据库端口号',
'database' => '数据库名称',
'engine' => 'MyISAM',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);
注意,定义数据库参数的位置,就是Railway创建的数据库信息,填入并保存!
3、配置 Vercel
通过 npm 安装 Vercel CLI;
npm -g install vercel
![](https://storage.googleapis.com/papyrus_images/a5781f3aab5ab04b4cb22d261c3a6972.png)
登录,命令行输入 vc login,选择GitHub;
![](https://storage.googleapis.com/papyrus_images/264d14a1d966a78197183be3f078f8b8.png)
![](https://storage.googleapis.com/papyrus_images/4f3c245d564ef340fdc5a4d289d5d883.png)
点开这个链接,如果出现下图,说明登录成功;
![](https://storage.googleapis.com/papyrus_images/6bb2fa4933fb427a7a84a66f9c79d6f5.png)
![](https://storage.googleapis.com/papyrus_images/3a8663f479bd70f6e2c909207b45786a.png)
接着在命令行输入 vc,按照提示一步步Yes;
![](https://storage.googleapis.com/papyrus_images/8e137d45455a235fe9550be8f571a042.png)
现在打开你的Vercel,你会发现刚刚创建的项目已经出现了;
![](https://storage.googleapis.com/papyrus_images/e44d068699eb30d0a87d23944aba78a1.png)
4、绑定域名
因为Vercel 部署分配的子域名被墙了,所以需要绑定我们自己的域名
点击 View Domains;
![](https://storage.googleapis.com/papyrus_images/3263815e3eb8a0a67428f334b2534ac4.png)
添加一个子域名,例如我的域名是lihail.cm,我添加一个typecho.lihail.cn,点击Add;
![](https://storage.googleapis.com/papyrus_images/683c54054a70d4538fa07bf13853157b.png)
打开你的域名管理后台:DNS 解析 DNSPod,例如我是腾讯云购买的域名,输入主机记录=Name;记录类型=Type;记录值=Value;最后点击保存;
![](https://storage.googleapis.com/papyrus_images/fb4b55055186ca9eb010faf1d30221bb.png)
接下来返回Vercel ,你会发现,已经配置成功,点击打开分配的地址:typecho.lihail.cn;
![](https://storage.googleapis.com/papyrus_images/f9195685104f33d3a0695f7d1ce8f0e1.png)
如果地址中出现下面的界面,说明部署成功了;
![](https://storage.googleapis.com/papyrus_images/5eb2ad2caa4566167d5df8c9d100ea38.png)
5、安装 Typecho
在地址栏后面加上
/install.php
例如:typecho.lihail.cn/install.php;
![](https://storage.googleapis.com/papyrus_images/d5661557679182f3f4c57b95a3738bbb.png)
![](https://storage.googleapis.com/papyrus_images/57085f92b2257609c0f27fc6266288f9.png)
确认安装,设置用户名密码,继续安装;
![](https://storage.googleapis.com/papyrus_images/7b914ceb3493ca0df9a7106427b38bda.png)
到这里就说明已经安装成功,点击进入后台页面和博客页面,就可以开始写你的博客了;
![](https://storage.googleapis.com/papyrus_images/bfcd86a1c64175a1b93c4c9f24579c5a.png)
![](https://storage.googleapis.com/papyrus_images/b759f290319d32bb6cc810675192cd77.png)
![](https://storage.googleapis.com/papyrus_images/04da5453eb0e3da758362169fdabf45e.png)
默认主题不是很好看,可以在主题模板选择自己的主题进行安装。
以上内容详细介绍了如何利用Vercel和Railway两个云平台来部署Typecho动态博客,让您的博客更加高效和稳定。通过使用Vercel的自动部署功能,您可以轻松地将博客代码上传到Vercel的服务器上,实现自动更新和快速部署。而Railway则提供了强大的数据存储和管理功能,让您的博客数据更加安全可靠。通过这种方式,您可以快速构建一个具有高性能和可靠性的博客平台,为读者提供更好的阅读体验。