发布于 2026-01-05 5 阅读
0

每个开发者都需要自托管

每个开发者都需要自托管

我以前一直觉得只有系统管理员或者家庭实验室爱好者才会搞自托管。

你知道,就是那种在地下室里跑Proxmox集群,然后在聚会上大谈ZFS的人。

但后来我自建了第一个服务器。

一切都改变了。(此处应有激昂的音乐)

如今,我运营着Sliplane.io,一个托管 Docker 的平台,但这一切都始于一件极其简单的事情:在我十几岁的时候,为我的朋友们搭建了一个 Minecraft 服务器。

虽然当时我并不知道,但正是这个选择自托管的决定,让我走上了成为云基础设施工程师、构建分布式系统,并最终创办自己的云公司的道路。自托管不仅仅是为了省钱或脱离电网。

它旨在学习驱动互联网的技能,并解锁你可能尚未意识到的机会。

以下是我认为每个开发者都应该至少进行一次自托管的原因。


自托管教会你软件的真正运行方式。

当你自己托管某个东西时,你就不能再仅仅使用“npm start”了,而应该像运维人员一样思考。

你需要:

  • 使用 systemd 或 PM2 等工具确保你的应用不会静默崩溃。
  • 将正确的端口暴露给外界
  • 重启后数据仍然保留
  • 了解操作系统如何管理服务和文件

你会不再仅仅像个开发者那样思考,而是开始像个负责维护系统在线运行的人那样思考。

这并非向 Heroku 推送代码或点击部署按钮就能学到的。(是的,这话出自一个构建此类平台的人之口,确实有点讽刺。)


实践出真知

自托管迫使你解决以下问题:

  • DNS记录的工作原理
  • 反向代理的作用是什么?
  • 如何颁发SSL证书
  • 什么原因导致请求路由错误

我13岁的时候,根本不知道CNAME是什么。我当时只想让我的Minecraft服务器能通过一个好看的域名访问。

但在这个过程中,我学到的DNS、NAT和端口转发方面的知识,比我在学校(甚至大学!)学到的还要多!

这些技能同样适用于 Kubernetes 和云基础设施等现代技术栈。基本原理不会改变。


你开始考虑安全问题

当软件暴露在互联网上时,你会开始提出更好的问题:

  • 是否有面向全球开放的管理员面板?
  • 我的数据库是否使用了强密码保护?它是否应该被公开?
  • 我使用HTTPS的方式正确吗?

如果你曾经不小心将 SSH 实例或 Redis 端口暴露在外,你很快就会明白互联网并非友好之地。看看你的服务器上有多少并非你本人发起的 SSH 登录尝试就知道了!

这些经验能让你成为更优秀的开发者。你不再只关注功能,而是开始考虑安全性和弹性。


无需刻意尝试,即可学会 DevOps

我从未想过要学习DevOps。

我原本只想运行一些供个人使用的服务:一个网站、一个 Minecraft 服务器、一个文件同步工具。

但最终我却学到了:

  • Docker 和 Docker Compose
  • 持续性卷和健康检查
  • 如何从崩溃中恢复
  • 如何实现部署自动化

那次偶然的学习经历先是让我钻研技术,然后发展成了我的事业。后来我参与了重要的生产基础设施建设,而我早期的自托管经验为我带来了巨大的优势。

你无需成为 DevOps 工程师也能从中受益。自托管能让你对互联网的运作方式有一个清晰的认识。无论你开发什么,这都弥足珍贵!


自托管增强信心

自托管教会你如何在现实世界中解决问题。

  • 通过 SSH 连接到服务器并读取日志?没问题
  • 需要调试 DNS 问题?您以前做过。
  • 如何在不停机的情况下迁移数据库?你知道该注意些什么。

一旦你亲手托管过应用,生产环境就不再那么可怕了。

你会逐渐熟悉那些让真实应用保持在线的工具和流程。

你的思维方式像个建造者,而不仅仅是个程序员。


它可以成就一番事业

青少年时期架设 Teamspeak 和 Minecraft 服务器最终发展成了一项更大的事业。

我成为了一名云基础设施工程师。我开始构建自己的编排器。

最终,我推出了Sliplane.io,这是一个帮助开发人员运行和管理容器的平台,无需处理 Kubernetes 或 AWS 的复杂性。

我不是唯一有这种经历的人!许多独立开发者、自由职业者和创业者都是从自建服务器起步的。

这小小的一步激发了人们的好奇心,并打开了机遇之门。

如果你现在才开始,也为时不晚。自主托管一款工具可以为你带来真正的职业生涯,并赋予你作为开发者的超能力。


从哪里开始

你不需要一整排服务器或花费大量时间就能自行托管一些有用的服务。
我始终建议托管那些你每天都会用到的服务。如果你需要一些灵感,以下是一些不错的入门选择:

  • n8n用于无代码工作流程自动化
  • Uptime Kuma可监控您的网站
  • 针对注重隐私的网络分析的合理分析
  • 使用 Adminer浏览 Postgres 数据库
  • Caddy 或 Traefik用于自动 HTTPS 和反向代理

选一个,部署在便宜的VPS上。在Hetzner上可以免费获得20欧元。这足够服务器运行大约4个月了:)

破坏东西。修好。再破坏。

一个周末学到的东西比一个月的辅导课都多。


最后想说的话

你不需要自己托管所有东西,
也不需要成为系统管理员,
但至少应该尝试一次。

从小事做起。从混乱中开始。现在就开始。

你或许会惊喜地发现自己的潜力 :)

干杯,

Jonas, Sliplane.io联合创始人

文章来源:https://dev.to/code42cate/every-developer-needs-to-self-host-43mm