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!
这样我们就可以输入一次命令,让多台机子同时执行!

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.gztar -xzvf static-web-server-v2.42.0-x86_64-unknown-linux-gnu.tar.gzrm static-web-server-v2.42.0-x86_64-unknown-linux-gnu.tar.gz再然后安装 https://acme.sh
apt install croncurl https://get.acme.sh | sh -s email=my@example.com接着按照文档操作,申请证书 dnsapi · acmesh-official/acme.sh Wiki
./acme.sh --issue --dns dns_cf -d 2x.nz -d '*.2x.nz'
签发完毕后需要安装证书,指定一个目录
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!