购物网站的文化建设问题,网站开发国内外现状研究,微信营销app,设备网站开发前言
前面也说了#xff0c;通过 GitHub PagesGitHub Actions 只是解决了动态数据展示#xff0c;但是要零成本得完成将用户信息存储下来#xff0c;并实现数据交互呢#xff1f;
我开始是想用云文档#xff0c;种种原因#xff0c;我还是希望有个自己能二次修改的后台…前言
前面也说了通过 GitHub PagesGitHub Actions 只是解决了动态数据展示但是要零成本得完成将用户信息存储下来并实现数据交互呢
我开始是想用云文档种种原因我还是希望有个自己能二次修改的后台于是就选择了 VercelRailway 方式。
虽然网上也有很多人介绍这俩平台的玩法但都是 2024 年以前的文章有些平台最新的修改和自己踩到的坑而别人没提到的细节我还是想记录一下。 坑点
域名已经解析成功了但是一直无法访问 Vercel 上的页面。vercel-php 版本和 Vercel 上的 NodeJs 版本冲突和一些配置问题。代码提交推送后Vercel 没有完成自动部署等等。 准备
Vercel 略过详细介绍暂且把他理解成云服务器入门配置免费需要注册登陆。Railway 同样略过详细介绍暂且把他理解成云数据库几乎免费需要注册登陆。GitHub 先创建存放程序的仓库也几乎完全免费需要注册登陆。Typecho 博客程序 其他语言的像 Flask 也行开源免费下载或自行编写。 Vercel 配置
进入 vercel 官网推荐使用 GitHub 账号登陆配置主要完成仓库的代码导入域名解析绑定项目部署和相关参数设置。
代码导入
登陆后点击 “Import Git Repository”然后选择仓库安装并设置权限接着是 Configure ProjectCongratulations 都可以直接下一步进入到 Production Deployment可参考下图。 域名解析绑定
进入到 “Production Deployment” 时我们可以看到项目已经创建成功。不但可以看到 source 源仓库分支和提交信息还能看到 Domains 分配的域名但是该域名被墙无法访问。 点击上面的 “Domains” 按钮在 Visit 左边输入即将要解析过来的域名系统会展示需要用 CNAM 类型被解析的域名复制该 value 去到自己的域名服务商控制台添加一条 CNAME 解析记录。 如果说服务商那边解析成功了并且 Vercel 平台也显示域名验证成功也就是前面提到的坑点一。这种一般是 DNS 缓存原因可以换一台电脑或用手机访问测试如果能就等待一下直到能 ping 通。还有 Vercel 会自动办法 SSL 证书所以后面只需要留意日期就可以下图我暂时放了一个 index.html 页面动态程序演示要放到 Railway 后。 Railway 配置
进入 Railway 官网同样推荐 GitHub 账号登陆进来后选择 “MySQL” 类型直接按默认后进入到 production最主要的是我们需要分配给他的 Host账号和密码数据库名等等。
需要注意的是 Railway 每个月只有 5 刀的限额需要提前备份数据库。超过限额后没有备份的数据就没了需要删掉账户重新注册才可以。 打开 Data选择 “Connect” - “Public Network”Connection URL 就是该产品对外的连接 Host用户密码端口等信息。只需要复制下来用于在程序中连接配置Navicat for MySQL 图形化工具连接失败我试过了。 后端程序部署
以下简单介绍 php 和 python 两种语言的 hello world和有数据库连接的博客程序第一步是后端入口文件都不能放在项目的根目录下放在新建文件夹的 api 中并添加 vercel.json用于配置路由和分配内存等信息。 Python 的 Hello World
新建 vercel.json 文件和用于打印的 py 文件最后访问自定义的域名。
{rewrites: [{ source: /(.*), destination: /api/index }]
}PHP 的 Hello World
需要注意的是部署 php 项目要用到 vercel-php而 vercel-php 又与 NodeJs 版本有一定对应关系。目前 2024 年 8 月 vercel 平台默认 Node 版本是 20.x我下面演示的是 vercel-php0.6.0所以再部署前需要先将 Node 版本切换为 18.x如下图。以下有两种情况的报错都要 node 和 vercel-php 版本相关
部署后报错合集1. PHP Built-In Server HTTP error: Error: connect ECONNREFUSED 127.0.0.1:80002. The following Serverless Functions contain an invalid runtime: - api/index (nodejs18.x) Typecho 安装
从官网下载源码后找到 config.inc.php 文件将数据库的参数修改为 Railway 复制过来的配置。 然后通过 Git 提交代码到仓库如果发现没有部署成功可以进入 vercel 平台的 Deployments 查看部署记录有报错的根据信息修改。 提交并成功部署后输入自定义域名并带上 install.php 进行安装然后用 pdo 方式安装数据库上面的 railway 参数就再输入一遍。 安装成功后可以到 Railway 查看到新增的表格这就表示全部都能正常使用了。 写在后面
当然 Vercel 也不只是可以用来部署动静态网站或 API也能搭一些国外工具的镜像像 npm 之类的。
还有一种是比如国外有一些很好用还免费的 API你想用在小程序进行调用但是在小程序后台填写这些 API 访问域名时无法添加没有国内的备案信息。
这时候就可以用自己备案过的域名再 Vercel 中搭建一个中转小程序请求自己的域名而部署的程序请求别人的地址更多玩法待后续更新了……