本网站托管在Linode下,操作系统原来是Ubuntu 14.04,近期决定将系统升级到16.04版本,为后续的软件更新做准备。经过在网上查阅相关的教程,并没有发现好的方法,比较安全的方法是重装操作系统,然后重新安装相应的软件。其实这并不是多麻烦的事,但想到以后还会有很多这样的情况,比如下次的系统升级或是网站搬家,就又要做重复的工作,就很不爽。那有没有可以自动完成这件事的方法呢?有,就是这篇博客要介绍的Ansible。
Ansible是一个自动化工具,可以很方便的完成对多个服务器的软件安装部署,也可以执行一些例行的常规任务比如备份、升级等。它是采用python开发的,但作为用户来说不需要python语言基础,只需要了解它的yaml语法、常规命令、roles的架构规范即可。
Ansible的使用方法可以参考它的官方文档,也可以看国内的中文版,可以更快上手。对于Ansible原理和最佳实践,可以参考资料 。对于Ansible的学习建议参考官方文档边学边做,并使用解决实际问题,这样会快很多,而且在解决实际问题时会体会深刻。软件安装时建议使用最新版(我使用的是2.3.1版),可以使用一些更高级的命令,简化操作。另外建议使用虚拟机或是Docker容器来练习,可以反复操作,而且不用担心玩坏了。
学习Ansible的过程除了学习具体知识外另一个大的收获是可以通过Ansible Galaxy找到很多自动化安装软件的方法,可以打开你的视野,摆脱在google上找安装教程的旧方法。
最近我在我的网站服务器上部署了NextCloud(类似Dropbox),作为自己的私人云盘,实现不同电脑文档的同步。这里把安装使用的Ansible playbook分享出来供大家参考,详见我的github仓库nextcloud-ansible,大家可以自行下载试用。
参考资料:
文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接 《ITechLib》