ansible自动化:LAMP环境部署

Playbooks 是 Ansible的配置、部署、编排语言。他们可以被描述为一个需要希望远程主机执行命令的方案,或者一组IT程序运行的命令集合。

言简意赅,Playbooks就是我们现阶段操作自动化的解决方案。通过Playbooks的编排,我们可以按需定制各种自动化操作。

本次我们介绍LAMP环境自动化部署,将其拆分为以下几个阶段:

批量编译安装lamp(apache+php及扩展);

初始化配置(自动加载php模块,修改mpm、日志轮储等);

手动按需修改站点文件;

1

配置思路

ansible-playbook配置思路,如下:

通过vars中的main.yml配置变量,主要为源码存放目录及安装目录;

通过tasks中的copy.yml将源码文件传输到异地服务器上源码存放目录;

通过tasks中的install.yml调用模板lamp_install.sh,将lamp安装到变量中定义的安装目录;

通过tasks中的main.yml调用copy模块和install模块;

通过lamp.yml调用剧本(playbook):lamp_install实现自动化部署;

2

目录结构

我们按playbook组织目录结构,其中:

files:存放需要同步到异地服务器的源码文件及配置文件;

handlers:当资源发生变化时需要进行的操作,若没有此目录可以不建或为空;

meta:角色定义可留空;

tasks:lamp安装过程成需要进行的执行的任务;

templates:用于执行lamp安装的模板文件,一般为脚本;

vars:本次安装定义的变量

[root@test ansible]

3

具体实现

1.创建lamp角色文件,用于调用lamp_install

[root@test ansible]

2.创建变量文件

变量文件作用是提取变量,以适应定义化部署需求。

[root@test ansible]

3.创建任务文件

任务文件的作用是将各种源码同步到远程机器上,做安装前的准备工作。

[root@test ansible]

注意:

copy模块复制目录,需要加上递归参数recurse;

copy模块复制目录,没有目录将会在目标服务器上创建;

copy模块复制文件到目标服务器的某一个目录下,需要在dest参数上加上/home/ap/src/lamp/,而不是/home/ap/lamp,否则ansible将会把文件复制为lamp,而不是放在lamp目录下;

4.编写模板脚本

模板脚本的作用是安装部署并进行相关组件的配置,主要如下:

安装apache及相关组件

安装memcached、magent

安装php及相关扩展mogo、memcached、memcache、soap、gd、mbstring、exif、eaccelerator,并添加至php.ini;在apache中引用php

修改http.conf,包括添加rewrite模块,修改AllowOverride等

修改http-mpm.conf

添加rewrite.conf

添加站点配置文件

[root@test ansible]

5.部署

K8SEASY:一键安装K8S高可用集群

运维思索:基础设施自动化落地

运维思索:运维规范如何生成?

一套包含完整前后端的系统如何在K8S中部署?

滴滴夜莺:从监控告警系统向运维平台演化

蓝鲸实现vsphere虚拟机交付 -虚拟机管理(VSPHERE)

 

ansible自动化:LAMP环境部署》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:https://www.hashtobe.com/633.html