Ansible-实战指南-LNMP环境部署,并使用zabbix监控

 

Ansible-实战指南-LNMP环境部署,并使用zabbix监控

 

 

系统初始化:必要的系统初始化

基础组件包括:zabbix监控,mariadb(用于存放zabbix监控信息)

业务组件包括:MySQL、memcached、nginx、PHP、haproxy、keepalived

说明:

1、 运维人员使用的登录账号;

2、 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放;

3、 该用户也被 ansible 使用,因为几乎所有的生产环境都是禁止 root 远程登录的(因此该 yun 用户也进行了 sudo 提权)。

  1. 1 # 使用一个专门的用户,避免直接使用root用户
  2. 2 # 添加用户、指定家目录并指定用户密码
  3. 3 # sudo提权
  4. 4 # 让其它普通用户可以进入该目录查看信息
  5. 5 useradd -u 1050 -d /app yun && echo '123456' | /usr/bin/passwd --stdin yun
  6. 6 echo "yun ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
  7. 7 chmod 755 /app/

 

备注:记得在管理机 172.16.1.180 上实现对其他机器的免密登录。

  1. 1 [yun@ansi-manager ansible_info]$ cat hosts_key
  2. 2 # 业务组件分组
  3. 3 [manageservers]
  4. 4 172.16.1.180:22
  5. 5
  6. 6 [keepalivedserver]
  7. 7 172.16.1.181
  8. 8 172.16.1.182
  9. 9
  10. 10 [proxyservers]
  11. 11 172.16.1.18[1:2]:22
  12. 12
  13. 13 [webservers]
  14. 14 172.16.1.183 ansible_ssh_port=22
  15. 15 172.16.1.184 ansible_ssh_port=22
  16. 16 172.16.1.185 ansible_ssh_port=22
  17. 17
  18. 18 [memservers]
  19. 19 172.16.1.185
  20. 20
  21. 21 [dbservers]
  22. 22 172.16.1.183
  23. 23 172.16.1.184
  24. 24 172.16.1.185
  25. 25
  26. 26 [dbservers_master]
  27. 27 172.16.1.183
  28. 28
  29. 29 [dbservers_slave]
  30. 30 172.16.1.184
  31. 31 172.16.1.185
  32. 32
  33. 33
  34. 34 # 基础组件分组
  35. 35 ## 数据库组件分组
  36. 36 [zabbixdbserver]
  37. 37 172.16.1.180
  38. 38
  39. 39 ## 基础业务组件分组
  40. 40 [zabbixserver]
  41. 41 172.16.1.180

 

 

该项目已经放在了GitHub上,地址如下:

  1. https://github.com/zhanglianghhh/ansible-example-lnmp

 

如需要请自行访问或下载。

 

获取需求并拿到机器的时候,这时需要我们做如下分析:

1、主机规划:每台主机用于部署什么模块【本文第一节实际已经规划好了】

2、普通用户创建与提权:如果机器是公司统一初始化的,那么可以不创建普通用户,只需提权即可。

3、ansible管理机到其他机器的免密登录。

4、具体任务分解:包括机器必要的初始化、基础组件部署与业务组件部署。如果公司对机器做了统一的初始化,那么视情况而定。

  1. ## 系统初始化
  2. 1、基础镜像源与epel镜像源
  3. 2、必要的包安装
  4. 3、指定环境变量,如:为history命令添加时间信息;操作命令记录到系统日志
  5. 4、用户名、主机添加背景色,用于生产环境,这样可以减少人为的误操作
  6. 5、别名配置,如:alias grep='grep --color=auto'
  7. 6、内核参数修改,生产中视情况而定
  8. 7、创建web站点用户 www
  9. 8、创建必要的目录,如:软件包存放目录,后期运维脚本存放目录
  10. ## 基础组件部署
  11. 1yum 安装mariadb,用于存放监控信息
  12. 2yum 安装zabbix server
  13. 3yum 安装zabbix agent
  14. ## 业务组件部署
  15. 1MySQL 数据库部署
  16. 2MySQL 主从实现
  17. 3memcached 部署
  18. 4nginx 部署
  19. 5PHP 部署
  20. 6nginxPHP整合,nginxPHPMySQL整合,nginxPHPmemcached整合
  21. 7haproxy 部署
  22. 8keepalived 部署

 

请参见:

  1. https://github.com/zhanglianghhh/ansible-example-lnmp

 

这里包含:涉及目录与文件说明;服务部署;停止服务【因为是个人电脑通过虚拟机实现的】;服务验证。

为了避免重复这里就不单独说了,参见上面地址即可。

 


———END———
如果觉得不错就关注下呗 (-^O^-) !

 

版权声明:本文为zhanglianghhh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhanglianghhh/p/12872125.html