您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

自动化运维工具Ansible之LNMP实践环境部署

时间:2020-05-12 10:54:49  来源:  作者:

主机规划

自动化运维工具Ansible之LNMP实践环境部署

 

 

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

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

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

添加用户账号

说明:

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

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

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

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

 

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

Ansible 配置清单Inventory

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

 

系统架构

自动化运维工具Ansible之LNMP实践环境部署

 

 

实战项目GitHub地址

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

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

 

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

自动化运维工具Ansible之LNMP实践环境部署

 

 

项目任务分解

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

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

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

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

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

## 系统初始化
1、基础镜像源与epel镜像源
2、必要的包安装
3、指定环境变量,如:为history命令添加时间信息;操作命令记录到系统日志
4、用户名、主机添加背景色,用于生产环境,这样可以减少人为的误操作
5、别名配置,如:alias grep='grep --color=auto'
6、内核参数修改,生产中视情况而定
7、创建web站点用户 www。
8、创建必要的目录,如:软件包存放目录,后期运维脚本存放目录

## 基础组件部署
1、yum 安装mariadb,用于存放监控信息
2、yum 安装zabbix server
3、yum 安装zabbix agent

## 业务组件部署
1、MySQL 数据库部署
2、MySQL 主从实现
3、memcached 部署
4、nginx 部署
5、PHP 部署
6、nginx、PHP整合,nginx、PHP、MySQL整合,nginx、PHP、memcached整合
7、haproxy 部署
8、keepalived 部署

 

项目编写与后续验证步骤

请参见:

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

 

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

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



Tags:LNMP   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
Linux有很多像这样的群集,比如说LAMP,LNMP,那LNMP和LAMP有什么区别呢?LNMP的是Nginx而LAMP的是Apache1)相比 Apache,用 Nginx 作为 Web 服务器:使用资源更少,支持更多并发连接,效率...【详细内容】
2020-08-17  Tags: LNMP  点击:(77)  评论:(0)  加入收藏
项目之五台服务器实战Linux+Nginx+PHP+MySQL主主+NFS文共享集群架构;1)部署1台Nginx WEB前端服务器(不能跟PHP-CGI公用); 2)部署2台PHP-CGI网站代码; 3)部署2台MYSQL主主同步架构(可...【详细内容】
2020-08-12  Tags: LNMP  点击:(78)  评论:(0)  加入收藏
主机规划 系统初始化:必要的系统初始化基础组件包括:zabbix监控,mariadb(用于存放zabbix监控信息)业务组件包括:MySQL、memcached、nginx、PHP、haproxy、keepalived添加用户账号...【详细内容】
2020-05-12  Tags: LNMP  点击:(54)  评论:(0)  加入收藏
操作系统:公共镜像CentOS 7.2 64位 Nginx版本:Nginx 1.16.1 MySQL版本:MySQL 5.7.28 PHP版本:PHP 7.0.33 一:准备编译环境 远程连接Linux实例。 关闭防火墙。运行systemctl stat...【详细内容】
2020-05-02  Tags: LNMP  点击:(65)  评论:(0)  加入收藏
LNMP是当下web最流行的架构之一,不管是初级运维还是php程序猿都需要掌握这门技能,对加深Linux系统命令行、架构原理的理解非常有帮助。安装之前先说明以下几点: Linux系统版本...【详细内容】
2020-03-16  Tags: LNMP  点击:(72)  评论:(0)  加入收藏
相关链接:Apache+WordPress部署SSL加密服务,全站开启https访问第一步、部署SSL加密服务准备工作1.在VPS已部署好LNMP一键安装包;2.申请SSL证书(百度免费SSL证书),我以阿里云提过...【详细内容】
2019-11-27  Tags: LNMP  点击:(127)  评论:(0)  加入收藏
本文介绍使用ezhttp一键安装配置lnmp lamp lnamp(apache nginx php mysql)环境,在开始之前,请先查看ezhttp介绍。这里以安装lnmp为例,其它的安装类似。交互安装:1.选择安装lnmp1...【详细内容】
2019-11-19  Tags: LNMP  点击:(75)  评论:(0)  加入收藏
从事PHP开发的都知道,LNMP一般是指Linux+Nginx+MySQL+PHP组合,也是日常开发和线上环境中最简单的Web服务器架构。为尽可能的提升服务器响应速度,LNMP的配置优化是十分关键的步...【详细内容】
2019-10-18  Tags: LNMP  点击:(198)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(9)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条