自动化运维工具Ansible之LNMP实践环境部署
Ansible-实战指南-LNMP环境部署,并使用zabbix监控
主机规划

系统初始化:必要的系统初始化
基础组件包括:zabbix监控,mariadb(用于存放zabbix监控信息)
业务组件包括:MySQL、memcached、nginx、PHP、haproxy、keepalived
添加用户账号
说明:
1、 运维人员使用的登录账号;
2、 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放;
3、 该用户也被 ansible 使用,因为几乎所有的生产环境都是禁止 root 远程登录的(因此该 yun 用户也进行了 sudo 提权)。
# 使用一个专门的用户,避免直接使用root用户
# 添加用户、指定家目录并指定用户密码
# sudo提权
# 让其它普通用户可以进入该目录查看信息
useradd -u -d /app yun && echo '' | /usr/bin/passwd --stdin yun
echo "yun ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
chmod /app/
备注:记得在管理机 172.16.1.180 上实现对其他机器的免密登录。
Ansible 配置清单Inventory
[yun@ansi-manager ansible_info]$ cat hosts_key
# 业务组件分组
[manageservers]
172.16.1.180: [keepalivedserver]
172.16.1.181
172.16.1.182 [proxyservers]
172.16.1.18[:]: [webservers]
172.16.1.183 ansible_ssh_port=
172.16.1.184 ansible_ssh_port=
172.16.1.185 ansible_ssh_port= [memservers]
172.16.1.185 [dbservers]
172.16.1.183
172.16.1.184
172.16.1.185 [dbservers_master]
172.16.1.183 [dbservers_slave]
172.16.1.184
172.16.1.185 # 基础组件分组
## 数据库组件分组
[zabbixdbserver]
172.16.1.180 ## 基础业务组件分组
[zabbixserver]
172.16.1.180
系统架构

实战项目GitHub地址
该项目已经放在了GitHub上,地址如下:
https://github.com/zhanglianghhh/ansible-example-lnmp
如需要请自行访问或下载。

项目任务分解
获取需求并拿到机器的时候,这时需要我们做如下分析:
1、主机规划:每台主机用于部署什么模块【本文第一节实际已经规划好了】
2、普通用户创建与提权:如果机器是公司统一初始化的,那么可以不创建普通用户,只需提权即可。
3、ansible管理机到其他机器的免密登录。
4、具体任务分解:包括机器必要的初始化、基础组件部署与业务组件部署。如果公司对机器做了统一的初始化,那么视情况而定。
## 系统初始化
、基础镜像源与epel镜像源
、必要的包安装
、指定环境变量,如:为history命令添加时间信息;操作命令记录到系统日志
、用户名、主机添加背景色,用于生产环境,这样可以减少人为的误操作
、别名配置,如:alias grep='grep --color=auto'
、内核参数修改,生产中视情况而定
、创建web站点用户 www。
、创建必要的目录,如:软件包存放目录,后期运维脚本存放目录 ## 基础组件部署
、yum 安装mariadb,用于存放监控信息
、yum 安装zabbix server
、yum 安装zabbix agent ## 业务组件部署
、MySQL 数据库部署
、MySQL 主从实现
、memcached 部署
、nginx 部署
、PHP 部署
、nginx、PHP整合,nginx、PHP、MySQL整合,nginx、PHP、memcached整合
、haproxy 部署
、keepalived 部署
项目编写与后续验证步骤
请参见:
https://github.com/zhanglianghhh/ansible-example-lnmp
这里包含:涉及目录与文件说明;服务部署;停止服务【因为是个人电脑通过虚拟机实现的】;服务验证。
为了避免重复这里就不单独说了,参见上面地址即可。
———END———
如果觉得不错就关注下呗 (-^O^-) !

自动化运维工具Ansible之LNMP实践环境部署的更多相关文章
- 自动化运维工具-Ansible基础
目录 自动化运维工具-Ansible基础 什么是Ansible 同类型软件对比 Ansible的功能及优点 Ansible的架构 Ansible的执行流程 安装Ansible ansible配置文件 ...
- 自动化运维工具-Ansible之7-roles
自动化运维工具-Ansible之7-roles 目录 自动化运维工具-Ansible之7-roles Ansible Roles基本概述 Ansible Roles目录结构 Ansible Roles ...
- 自动化运维工具-Ansible之4-变量
自动化运维工具-Ansible之4-变量 目录 自动化运维工具-Ansible之4-变量 变量概述 变量的定义和调用 变量优先级测试 变量优先级测试二 变量注册 facts缓存 变量概述 变量提供 ...
- 自动化运维工具-Ansible之1-基础
自动化运维工具-Ansible之1-基础 目录 自动化运维工具-Ansible之1-基础 Ansible 基本概述 定义 特点 架构 工作原理 任务执行模式 命令执行过程 Ansible 安装 Ans ...
- 自动化运维工具Ansible详细部署 (转载)
自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...
- 自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客
自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客 自动化运维工具Ansible详细部署
- CentOS7Linux中自动化运维工具Ansible的安装,以及通过模块批量管理多台主机
使用自动化运维工具Ansible集中化管理服务器 Ansible概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于saltstack和Puppet ...
- 自动化运维工具Ansible介绍
一个由 Python 编写的强大的配置管理解决方案.尽管市面上已经有很多可供选择的配置管理解决方案,但他们各有优劣,而 ansible 的特点就在于它的简洁. 让 ansible 在主流的配置管理系统 ...
- 在CentOS7.6上安装自动化运维工具Ansible以及playbook案例实操
前言 Ansible是一款优秀的自动化IT运维工具,具有远程安装.远程部署应用.远程管理能力,支持Windows.Linux.Unix.macOS和大型机等多种操作系统. 下面就以CentOS 7.6 ...
随机推荐
- 食物链 POJ - 1182 (并查集的两种写法)
这是一个非常经典的带权并查集,有两种写法. 1 边权并查集 规定一下,当x和y这条边的权值为0时,表示x和y是同类,当为1时,表示x吃y,当为2时,表示x被y吃. 一共有三种状态,如图,当A吃B,B吃 ...
- 实例讲解Springboot以Template方式整合Redis及序列化问题
1 简介 之前讲过如何通过Docker安装Redis,也讲了Springboot以Repository方式整合Redis,建议阅读后再看本文效果更佳: (1) Docker安装Redis并介绍漂亮的可 ...
- Netty入门与实战教程总结分享
前言:都说Netty是Java程序员必须要掌握的一项技能,带着不止要知其然还要知其所以然的目的,在慕课上找了一个学习Netty源码的教程,看了几章后着实有点懵逼.虽然用过Netty,并且在自己的个人网 ...
- HTML+CSS教程(二)frameset框架和iframe内嵌
一.框架 (frameset)1.用<frameset></frameset>代替了<body></body>2.rows设置行的占页面的百分比:col ...
- 如何用TensorFlow实现线性回归
环境Anaconda 废话不多说,关键看代码 import tensorflow as tf import os os.environ['TF_CPP_MIN_LOG_LEVEL']='2' tf.a ...
- Java 网络编程 -- 基于TCP 实现聊天室 群聊 私聊
分析: 聊天室需要多个客户端和一个服务端. 服务端负责转发消息. 客户端可以发送消息.接收消息. 消息分类: 群聊消息:发送除自己外所有人 私聊消息:只发送@的人 系统消息:根据情况分只发送个人和其他 ...
- 箭头函数的this指向问题-一看就懂
OK,对于箭头函数的this 用一句话概括:箭头函数中的this指向的是定义时的this,而不是执行时的this. 如果上面这句话听的是懂非懂或者完全不懂的,没关系,下面会有案例讲解. 举个栗子 来看 ...
- 2019-2020-1 20199308《Linux内核原理与分析》第一周作业
Linux 基础入门(新版)学习笔记 实验二 基本概念及操作 重要快捷键 Tab 补全命令 Ctrl+c 强行终止当前命令 历史命令 方向上键↑,恢复之前输入过的命令 通配符 在命令行中获取帮助 某个 ...
- 前端跨域解决方案: JSONP的通俗解说和实践
对于前端开发者而言,跨域是一个绕不开的话题.只有真正明白了各种方案的工作机制,才能针对性地进行跨域方案选型.本文将以探索者的视角,试图用最通俗的语言对一种"鼎鼎大名"的跨域解决方 ...
- Visual Studio Code mac OS 安装 中文简体语言包
先下载中文简体语言包 官网 https://marketplace.visualstudio.com/search?target=VSCode&category=Language%20Pack ...