《第42天》ansible实战:如何为一千台服务器部署网站

yumo6663个月前 (05-12)技术文章9

我的一千台服务器又来了,之前讲了运维管理工具saltstack,当时还介绍了一个ansible,这个软件的靠山是redhat,它有漂亮的ui界面,今天呢,我们就来认识一下ansible,以及做一个ansible的实战。

开班第四十二天:

今天的课程大纲:

1.安装ansible,以及基本的认识

2.用ansible为服务器部署phpbb论坛网站

3.把网站交给nagios

详细讲解:

  • 一。安装ansible,以及基本的认识

ansible其实原理跟saltstack一样,都是很方便就能管理很多服务器。如果大家还记得saltstack中的状态文件,那么今天介绍ansible就简单的多,状态文件就是一种需求文件,总服务器放出状态文件给其他服务器,其他服务器就会想方设法的去满足这个状态文件。这也就实现了批量管理服务器的工作了。那么ansible其实也一样,只不过它的文件不叫状态文件,而是playbook,俗称剧本,被管理的服务器拿到这个剧本就会像演戏一样演绎这个剧本,从而满足管理服务器的需求。

这里还要说一点的是,ansible的剧本文件简单一点,相对比起saltstack的sls文件要更加容易理解。所以很多人愿意去学习ansible。

1.首先安装ansible,需要yum源,可以用epel,我这里也有。写一个repo文件。

2.开始安装ansible,yum install ansible,saltstack有一个花名册,其实ansible也有,而且ansible的花名册写法非常灵活,可以是某一个组,也可以单个主机。这里我就不多介绍了。还是一样,用一个虚拟机做测试,虚拟机的ip地址为172.16.70.5。现在开始写花名册,vim /etc/ansible/hosts

3.现在试试能不能连上虚拟机。使用命令ansible all --ask-pass -m ping,如果你不想输入密码,那么你可以配置密钥认证,这样就可以直接执行了。现在说明ansible的基本配置成功了。

  • 二。用ansible为服务器部署phpbb论坛网站

我们现在要知道如果一个新的服务器要部署一个网站的步骤,如果你手动都不会部署,那么你怎么去写剧本文件。所以你先要手动部署成功了,再说写剧本文件的事情。

这里我们部署phpbb需求有几个,一个是httpd,mysql,php,以及响应的依赖,依赖问题怎么解决,这就要你提前自己手动部署一遍,这样你就知道需要什么依赖,然后写在剧本文件中。

1.我们为了部署phpbb,那么就在管理端单独写一个phpbb的目录,然后需要什么文件,我们都放在这个目录中。主要有一下文件。config是selinux文件,我不想更改远程的文件了,直接从本地拷贝,httpd.conf和phpbb.conf是http的配置文件,我做了单独的虚拟主机,phpbb目录是phpbb这个论坛的解压目录。

虚拟主机配置是下面的内容:

2.现在开始写playbook文件,这个文件随便写在哪里都行。下面是我写的剧本文件,怎么看这个剧本文件,前两个hosts和remote_user没什么好说的,都恩给看懂。tasks开始说,一个- name表示一个任务,也是一个需求,假如我想按张httpd,那么下面就写怎么安装,我可以从yum安装,名字叫做httpd,状态是最新的。假如我本地有一个文件想拷贝过去,或者是一个模板,我可以使用template,源地址是我本机的文件路径,目标地址dest是远程我想拷贝到哪里。现在我们可以大概的了解到,这里的yum和template都是一个模块,ansible定义了很多的模块,比如拷贝文件,file,装包的模块等等。所以我们学习ansible主要还是学习模块,模块知道的多,那么你写这个剧本文件就得心应手。

3。那么我现在剧本文件也写好了,那么我们现在就开始应用这个剧本文件到被管理端,使用命令ansible-playbook --ask-pass phpbb.yaml。执行之后,可以看到最后的输出是成功的。

4.现在测试一下,看看能不能安装phpbb。直接在浏览器输入172.16.70.5(在我本机浏览器输入),看到下面的输出就表示你的php部署成功,现在看看所有的依赖能否完全成功。



4.我把配置网站的东西都配置了一下,现在可以看一下效果,这就是网站的后台。

  • 三。把网站交给nagios

1.nagios是一个很好的管理工具,现在我们就用nagios来管理,之前我也讲过nagios了,所以今天就演示一下。添加一个172.16.70.5.cfg的配置文件,里面写上一下内容,这里我也不是用nrpe或者nrpd了,直接就监控http服务。

2.重新加载nagios配置文件。看看是否管理到了vm5,成功检测到vm5,并且httpd服务正常运行。

总结:

今天主要学习了另一个管理工具ansible,其实ansible和saltstack一样,我们学习的都是模块和方法,要不然怎么说是python写的呢,所以工具不难,难的是你愿意不愿意去学习它灵活的地方。

最后说一点,如果有新手想要学习一下剧本文件怎么写,可以到我微博上获取。我把它的连接发在微博上了。谢谢各位的支持!

头条号:爱家人爱老婆的IT男

QQ群:145252709,我会上传资源,同时会有很多大神跟你们讨论学习分享

微信公众号:程序猿的野生香蕉

微博:爱家人爱老婆的IT男

相关文章

实战项目搭建个人论坛网站

1.创建服务器ECS centos7.62.安装NGINX,并设置开机启动wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-relea...

Discuz!是什么东西怎么搭建?论坛程序安装+模板配置教程

Discuz!论坛程序安装+模板配置教程Linux系统安装方法:第一步:检查是否安装apache mysql phpps -ef |grep httpdps -ef |grep mysqlps -ef...

discuz!论坛系统项目安装手册

云服务器部署论坛系统discuz1.Logo2.安装LAMP[root@apache ~ ]# yum -y install httpd mariadb-server mariadb php php-...

如何找到高质量外链发布平台

上一篇文章SEO学习网已经说过了,要想发布高质量的外链首先得找到高质量的外链发布平台。但是因为行业不同,除了博客平台以外其他的平台貌似都不能通用。比如我经常去的A5、25推、搜外论坛发布一些站长资讯,...

精辟!阿里大牛泪解:docker镜像制作——构建企业镜像LAMP+BBS

目录一、LAMP概述二、进行搭建1、启动基础镜像容器2、容器中优化yum源,并安装软件3、软件初始化①、ssh的开启②、mysql的安装和开启③、apache初始化4、宿主机编辑PHP主页文件并测试5...

[汇川PLC] 汇川IFA程序框架03-建立自定义全局变量

自定义的全局变量能够支持像结构体和数组这样的结构化数据。可传统的寄存器呢,一般就是单一的数据存储。打个比方,D 寄存器能存数值,不过要是想组织复杂点的数据结构,或许就得把多个 D 寄存器组合起来。但全...