序文#
自分のサイトを自分のサーバーで実行すると、サーバーの期限切れ、攻撃、または自分自身が環境を壊してしまうなどの理由で、自分のサイトがオフラインになる可能性があります。私は最速の速度と安定性を追求しており、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 阅读器、公共图床上传 API、Umami 网站统计、天气查询、Pixiv Now、留言板、博客記事 AI 简介生成などのプロジェクトがデプロイされています。
これらのアプリケーションはすべて 阿里云DCDN
または 腾讯云ECDN
を使用して中間ソースとして加速され、自己構築の CDN を使用して加速されています。AI 生成プロジェクトはReplicateと連携して生成され、Upstashと連携して 1 日あたりの生成回数を制限しています。OpenGPT はPlanetscaleデータベースを使用し、AI 法律助手はSupabaseを使用して法的データを保存しています。公共の画像アップロード API はGitHubで提供されています。留言板は軽量な PHP アプリケーションであり、データベースにはNeonが使用されています。Vercel には基本的な PHP ホスティング機能があるため、いくつかの軽量な PHP アプリケーションもここにホスティングされています。例えば、Meting-api、BiliVideo 解析、およびこのブログのコメントシステムなどです。
Railway#
Sub 订阅、Umami データベース、ライブ弾幕サーバーなどがRailwayにデプロイされています。トラフィックは 阿里云DCDN
または 腾讯云ECDN
を経由して中間ソースとして加速され、自己構築の CDN と組み合わせて加速されます。
RailwayとFly.ioと同様に、休止することはありませんので、いくつかの小さなプログラムをデプロイして実行します。ただし、Railwayは米国地域のみで利用できますが、Fly.ioはグローバルに利用できます。
Koyeb#
公共のRSSHubサービスで、 CloudFlare
と 百度云CDN
を使用しています。
無料では 1H512M のみで、RSSHub の実行はまあまあです。
腾讯云 SLS#
Musicの API サービスをデプロイしています。グローバルな加速には 阿里云DCDN
を使用しています。
一部のプロキシプログラムは腾讯云関数にデプロイされており、Bilibili 番組のロック解除に使用されるタイ国および香港のプロキシなどがあります。
Replit#
WebProxyとMikuinvidiousをデプロイしています。国内外を区別するために 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 を使用しています。jsdelivr、mapbox、unpkg、baomitu、gravatar、staticfile、google ajax、gthemes、cdnjs、google fonts、alifonts、html2canvas、私の個人的な画像アップロードなどをサポートしています。OSS ミラーリングを使用して永久的に保存され、OSS の全地域加速を使用してクロスボーダーの加速が行われます。
エッジスクリプトを使用して ref の検出などの操作を行っています:
# 単一IPのレート制限は10m/s
limit_rate(10, 'm')
# 海外アクセスを禁止します。海外ではCloudflareを使用しているため、阿里云CDNは海外アクセスをブロックして、阿里云の海外ノードに悪意のあるホストがホストされることを防ぎます。
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に "." が含まれているかを正規表現でマッチング
if null_ref {
if not(moeyy_ref) {
exit(403)
}
}
}
上記は一部のサービスのみであり、その他のサービスについてはmoeyy.cn/appをご覧ください。
特定のサービスの構築チュートリアルが必要な場合は、コメントしてください。時間があれば作成します。