搭建自己服务的时候,一些偏实践的操作
需求: 希望能够舒适的使用自己需要的服务
拆解下这个需求: 服务可能同时有前端、后端能力诉求 部署和维护复杂度可控
纯前端可以用 Vercel 进行部署,免费,部署体验还好 带后端的服务就要用服务器了
https://vercel.com/ 注册账号,Add Poject 就可以 Import Git Repository 了
这个比较简单,自己走一遍就知道了
你要先买个服务器,这个根据自身诉求,去 B 站搜购买攻略,如果你不知道自己有啥诉求,那就买便宜的就行 :P 买服务器本质上你向云厂商买了俩
公网 ip 是最重要的,一般运营商不向个人提供了(地区之间有差异),如果你技术比较强,也能搞到公网 ip 资源用自家的当然更爽
服务器到手,链接上去,我推荐用 https://1panel.cn/ 进行管理
提供了命令行链接、文件管理、Docker 管理等一系列 GUI 操作服务器的能力
提示可能会遇到的坑
服务器目前你有了一个公网 ip,服务部署在若干端口上可以访问,现在每增加一个服务都需要你去增加防火墙开放端口,而且对外暴露了公网 ip
我们可以通过域名 + 反向代理来解决这个麻烦
域名同样去各种信息平台如 B 站搜索购买攻略,这个不和云厂商耦合的
首先配置 DNS 解析,让域名访问能够解析到你购买的服务器
以我在机器上跑的一个 Next 项目为例子,跑 npm run prod
跑在了 3001 端口上
访问地址 https://next.sedationh.top/
这样我们通过 next.sedationh.top 就能访问到跑在机器上的 3001 端口的服务,而不用去开防火墙端口了
这套方向代理 1Panel 通过 GUI 的方式就可以配置,下层是靠 Nginx 支持的
值得一提的是 1Panel 提供了证书管理的能力,很轻松的就可以让你的服务器用上 HTTPS 去文档了解
VPS 是 Virtual Private Server 的缩写,中文通常翻译为"虚拟专用服务器"。 VPS 全面测评
对于 Vercel,不用你提供域名,它会结合你的项目名给你在 vercel.app 下分配一个可用的域名,如 https://epub-html.vercel.app 自动加 SSL 证书
但 vercel.app 被墙掉了,这个域名被墙掉了,可以通过配置 CNAME 来解析
CNAME 记录地址:cname-china.vercel-dns.com
https://epub-html.sedationh.top/
Cloudflare 又名 赛博菩萨,提供了许多免费可靠的服务,我随便列举点
网上有许多教程和视频,任君折腾
最后推荐一些我用过的 Self Hosted
https://github.com/usememos/memos
https://github.com/AlistGo/alist
https://github.com/plankanban/planka
探索有还有哪些好玩的? 下面俩是很好的开始
在使用上面的服务的时候,尽量使用 Docker 进行部署和管理 你可能会遇到墙,可以使用 https://dockerproxy.net/ 来解决