个人服务器模块化部署实录-1
docker安装
因为选型用了doker,第一步自然是安装docker。
安装比较简单,参考文档如下:
参考文档
服务docker化
服务器上跑的项目主要四种:
yum
安装的,比如mysql
,redis
。- 源码或者二进制文件部署的,比如
git
和nginx
。 - 自己编写的
go
项目。 - 自己编写的
python
项目。
针对不同的服务,做了不同的设想。后续展开细说。
yum安装的服务
本身有两种部署方式。
继续使用 yum
安装成系统服务,或者运行在容器里。
目前选择的是继续运行成系统服务。
原因是因为容器的持久化和链接终归没有直接运行在服务器方便。
作为整个服务器的一个部分,个人认为已经通过yum把它模块化了。
在需要迁移时,直接在目标服务器重新安装或者部署到容器中即可。
二进制部署的服务
目前二进制部署的服务,主要是 gogs
, git
服务。
其实是支持容器化的,但是他的存储文件依旧需要持久化在机器硬盘上,只是把服务放到 docker
里,意义不大。
所以同样也不打算在这次做容器化。
另外一个服务器是 nginx
,算是编译之后的二进制。有单独的 nginx
容器,但是因为现在用的这个 nginx
,还是 1.12.1
版本,并且有一些第三方插件,暂时不打算使用 docker
。后续如果迁移,可能直接升级最新版本的。
自己开发的go服务
本来是打算用 alpine
部署的,但是缺少 gcc
,确实很多 c
库,最后选用了 ubuntu
镜像。具体操作之后单独记录。
自己开发的py服务
主要是通过 flask
框架做的 web
服务,最开始也是用了普通的 python
镜像,后来发现太大了,选用了 python:slim
镜像。具体操作同样之后单独记录。
其他服务
除去上述列举的之外,还有一些 shell脚本
, py脚本
等。暂时没想到好的管理方法。包括通过 cron
管理的定时任务也同样。后续再研究一下这部分的解决方案吧。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 符十三郎!