128MB渣机上实现极简OSS
由于一直受网络延迟的困扰,最近花4元买了个内蒙古的VPS,RAM只有可怜的128MB,CPU也只有一核。但是带宽还可以,每个月流量也有100G。这个服务器刚好用来跑个OSS+FRP。 由于FRP安装实在是太简单,主要分享一下极简OSS的搭建。
由于极小的内存,尝试安装minio,但是直接崩了。查了一下minio的要求内存起码1G,果断放弃了。对比多个方案最后选择Caddy File Server来做代理服务器。Caddy的好处就不用多说了,自动https,极简配置对新手和渣机都非常友好。
运行 Caddy File Server
下载官方的二进制文件,chmod +x
,然后修改/etc/caddy/Caddyfile
,放开CORS配置。随后直接运行脚本,指定配置文件目录就完事了。现在就运行好一个非常简单的文件代理服务器了。访问公网ip:端口/文件名
就可以访问了,由于位置在国内,所以延迟极小。itdog实测全国延迟<50ms。用来做一些脚本和字体hosting都非常合适。
现在离OSS还差一个便捷的上传功能(预览功能后来想了想其实不是那么必须)。对比了Python,WEBDAV和Go,还是选择了最不吃内存的Go,而且发现Go居然可以直接交叉编译成指定平台的可执行二进制格式。简单写了个前端+上传逻辑,加了个HTTP原生鉴权。一个简单的上传portal就做好了:
为了省事没写一点css,凑合用了。写完之后,只需要运行
GOOS=linux GOARCH=amd64 go build -o file file.go
或者在windows上:
$env:GOOS="linux"; $env:GOARCH="amd64"; go build -o file file.go
就可以编译了,我的编译出来就11MB,用nohup一跑,占用内存也就十几MB,榨干了最后一点内存。
在安装完go之后,第一次编译会非常慢,我在两个linux和windows上都是如此。因为第一次 go build 会把第三方模块拉到 模块缓存(GOMODCACHE),同时校验签名并写入 go.sum。网络慢或源站慢都会拖时间。之后只要 源码、依赖版本、编译标志 没变,Go 会直接复用 GOCACHE/GOMODCACHE 的产物,所以 1–2 秒就结束。但是如果换 Go 版本、改 -tags/-ldflags/CGO_ENABLED、切换 GOOS/GOARCH、或清了缓存(go clean -cache -modcache)都会导致重新预热,又会慢一次。
- 本文标题:128MB渣机上实现极简OSS
- 本文作者:uygnil
- 本文链接:https://blog.zhoulingyu.net/index.php/archives/19/
- 版权声明:本文采用 CC BY 4.0 协议进行许可
标签:无
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
新车首发,新的一年,只带想赚米的人
新车即将上线 真正的项目,期待你的参与