Skip to main content
Photo from unsplash: https://cdn.moeyy.cn/img/202305242233546.png/moeyy_webp

本站已经完全托管于PaaS平台

Moeyy 发布于 May 24, 2023

6 min read

前言

因为把东西运行在自己的服务器上可能会因为服务器到期、被攻击或者自己不小心折腾坏环境等原因,导致自己的网站下线。我追求的最快的速度与稳定性,使用 PaaS 平台可以满足我的需求。

本站所使用到的 PaaS 平台

Web

数据库

服务

Fly.io

fly.io 上部署了 Alist瓦罗兰特商店查看WebSSH。Alist 部署教程在这篇文章内,然后流量经过 阿里云DCDN腾讯云ECDN 进行加速作为中间源加速搭配自建 CDN 区分路由运行,在全球延迟内都非常低。 还有一些零零碎碎的 Docker 服务也部署在上面。

Vercel 与 Netlify

vercel 上部署的项目有点多,比如 AI 生成动漫图AI 年龄推断AI 图片修复使用 AI 通过文字修改图片通过涂鸦 AI 绘画OpenGPT 应用AI 法律助手AgentGPT明日方舟工具箱Render 阅读器公共图床上传 APIUmami 网站统计天气查询Pixiv Now留言板 、博客文章 AI 简介生成。

以上应用均使用 阿里云DCDN腾讯云ECDN 进行加速作为中间源加速搭配自建 CDN 进行加速,AI 生成项目是对接 Replicate 进行生成,搭配 Upstash 进行速率限制每个人每天的生成次数,OpenGPT 使用了 Planetscale 数据库,AI 法律助手使用 Supabase 存储法律数据,公共图床的上传接口:GitHub。留言板是 PHP 轻量级应用,数据库使用 Neon 。因为 Vercel 有基本的 PHP 托管能力,所以一些轻量级 PHP 应用我也托管在上面,比如 Meting-apiBiliVideo 解析,还有本博客的评论系统等。

Railway

部署 Sub 订阅 、Umami 数据库、直播弹幕服务器等,使用 阿里云DCDN腾讯云ECDN 进行加速作为中间源加速搭配自建 CDN 进行加速。 因为 RailwayFly.io 一样不会休眠,所以会部署一些小程序上去运行。但是它只有美国地区,而 fly.io 的是全球性的。

Koyeb

公共 RSSHub 服务,使用 CloudFlare百度云CDN。 免费只有 1H512M,运行 RSSHub 马马虎虎。

腾讯云 SLS

部署 Music 的 API 服务,使用 阿里云DCDN 进行全球加速。 其中一些代理程序部署在腾讯云函数内,比如用于 B 站番剧解锁的泰国代理和香港代理。

Replit

部署 WebProxyMikuinvidious,使用 Gcore百度云CDN/BunnyCDN 区分国内海外进行加速。

CloudFlare Workers

部署 Url 短链接Github 下载加速ChatGPT 等项目。

CDN 加速

moeyy.cn 采用自建 CDN 进行加速,采用 Hexo 框架,代码更新到 Github 后自动构建然后部署到阿里云 OSS 上,CDN 服务器采用 阿里云ECS/Azure/AWS/Vultr/Digitalocean 等。本站大部分服务都部署在海外,但是国内速度也非常快也是归功于中间源是 阿里云DCDN腾讯云ECDN

cdn.moeyy.cn 国内使用阿里云 CDN,海外 CloudFlare。支持加速 jsdelivrmapboxunpkgbaomitugravatarstaticfilegoogle ajaxgthemescdnjsgoogle fontsalifontshtml2canvas 、我的私人图床 等,使用 OSS 镜像回源永久存储,并且使用 OSS 全地域加速进行跨境加速。 采用边缘脚本进行 ref 检测等操作:

# 单IP速率限制10m/s
limit_rate(10, 'm')
 
# 禁止海外访问,因为海外使用Cloudflare,所以阿里云CDN屏蔽海外访问防止有人恶意hosts到阿里云海外节点刷流量。
if not(match_re(client_region(), '370000|450000|310000|230000|540000|440000|120000|150000|340000|330000|530000|630000|320000|620000|420000|410000|360000|210000|640000|110000|460000|130000|510000|500000|610000|220000|140000|650000|350000|430000|520000')) {
    add_rsp_header('X-REGION-BLOCK', concat('hit region_region:', client_region()))
    exit(418)
}
 
#排除 /no_referer 路径进行ref鉴权验证,并允许ref为空。/no_referer则不受ref来源检测。
if not(match_re($uri, '^/no_referer')) {
    moeyy_ref = req_header('Referer','re:^(https?:\/\/)?([\w-]+\.)?(moeyy\.cn|moeyy\.xyz)') #正则匹配ref包含moeyy.cn和moeyy.xyz
    null_ref = req_header('Referer','re:(.)') #正则匹配ref包含 ".",用于检测是否ref为空
    if null_ref {
        if not(moeyy_ref) {
            exit(403)
        }
    }
}

以上仅一部分服务,更多的服务可以查看 moeyy.cn/app

如果想要某些服务的搭建教程,可以评论,有空我会写。