发现新文章

429 字
2 分钟
让我们自建一个自己的CDN!
你有没有想过从0通过各种开源项目自己搭建一个CDN?今天就来教你!
4月12日 00:21:41
0 次

前情提要#

因为最近搞了甲骨文,有俩1c1g的甲骨文机子,但是不知道能拿来干嘛

然后最近偶然发现甲骨文上托管HTML很绿

于是就想着是否能在我的俩甲骨文上托管我的静态博客?

思路#

首先,我们需要一个Web服务器,用来提供HTML内容,因为我是静态博客。所有我们不需要高级功能,故选择最快的 static-web-server/static-web-server: A cross-platform, high-performance and asynchronous web server for static files-serving. ⚡

其次,我们还需要为它配置SSL,这里使用最简单的 https://acme.sh

最后,我们需要让他支持CICD。好巧不巧,我曾经写过一个基于Python的 afoim/vps-cicd: 简易的VPS CI/CD

所以流程图最终大致如下

flowchart TD
    用户 --> |DNS解析|cdn[oraclecdn.2x.nz] --> 1[Oracle1]
    cdn --> 2[Oracle2]
    1 --> s1[SWS1]
    2 --> s2[SWS2]
    Acme1 --> |签发SSL|1
    Acme2 --> |签发SSL|2
    up[推送提交] --> ghw
    ghw[Github WebHook] --> |触发新构建|1
    ghw --> |触发新构建|2
    s1 --> r[静态博客]
    s2 --> r

正式开始!#

首先,使用 MobaXterm free Xserver and tabbed SSH client for Windows 连上两台机子并且启用 Multi Shell!

这样我们就可以输入一次命令,让多台机子同时执行!

接着,我们首先下载 static-web-server/static-web-server: A cross-platform, high-performance and asynchronous web server for static files-serving. ⚡

Terminal window
wget https://github.com/static-web-server/static-web-server/releases/download/v2.42.0/static-web-server-v2.42.0-x86_64-unknown-linux-gnu.tar.gz
tar -xzvf static-web-server-v2.42.0-x86_64-unknown-linux-gnu.tar.gz
rm static-web-server-v2.42.0-x86_64-unknown-linux-gnu.tar.gz

再然后安装 https://acme.sh

Terminal window
apt install cron
curl https://get.acme.sh | sh -s email=my@example.com

接着按照文档操作,申请证书 dnsapi · acmesh-official/acme.sh Wiki

Terminal window
./acme.sh --issue --dns dns_cf -d 2x.nz -d '*.2x.nz'

签发完毕后需要安装证书,指定一个目录

Terminal window
acme.sh --install-cert -d 2x.nz \
--key-file /root/ssl/2x_nz_key.pem \
--fullchain-file /root/ssl/2x_nz_cert.pem \
--reloadcmd "service sws force-reload"

这篇文章是否对你有帮助?

发现错误或想要改进这篇文章?

在 GitHub 上编辑此页

文章修订历史 (1 次)

查看变更记录
4月12日 01:20:22 a4a8977

rediff build

让我们自建一个自己的CDN!
作者
二叉树树
发布于
4月12日 00:21:41
许可协议
CC BY-NC-SA 4.0