个人服务器模块化部署实录-前言
个人服务器模块化部署实录-前言
之前一直用的阿里云服务器作为自己的个人云服务器,用来部署自己的网站及业务。
目前采取的是服务器上直接部署服务,通过supervisor的方式进行统一管理。
在使用过程中遇到了以下几个问题:
- 服务的部署操作困难
因为一直是在本地开发的,部署发布之前需要把代码推到git,再上服务器从git拉取代码然后进行发布。
之所以不用自动发布工具,是因为一来自动化流程构建需要时间,而我每次写一个小程序之后,很少有改动。所以就会变成不停配置自动化步骤。
二来自动化发布工具毕竟也是需要硬件资源的,云服务器资源并不是很富裕。
两者综合考虑,就一直在用手动的方式进行开发,部署。 - 服务迁移起来很困难
虽然都是自己写的东西,但是因为没有规范化的部署文档,也没有部署等级。一旦遇到需要迁移的场景,就很难受。
目前我在更换云服务器的时候,都是采用的打包成快照,生成镜像,然后根据镜像部署服务的方式。
这种方式的局限性在于,我只能在阿里云内部进行迁移,如果我以后想使用其他服务商的云服务器,迁移的成本将是巨大的。且这个成本是日间增加的。 - 服务管理困难
之前遇见过服务被爆破,或者由于bug程序自己宕机,跑满cpu等情况。但是因为不是随时都可以登录服务器,所以会导致服务甚至整个服务器瘫痪在那。
虽然本质是服务器上所有服务都还是我自己一个人在用,但是还是有些难受。
基于上述三个原因,打算将服务器上的部署方式调整一下。
目前的想法就是使用 podman
或者 docker
作为容器,将不同的业务封装到不同的容器,然后部署到服务器上。两种容器的选型还没确定,后续也会通过对比运维复杂度,资源使用等相关方面做一个主观上的对比。
决定还是直接用 docker
了,考虑 centos
马上不在跟 redhat
屁股后更新了,使用 redhat
的 podman
意义不大,谁也不知道以后会用什么系统。 docker
多少熟悉一点,直接就用了也省心。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 符十三郎!