Centos 7.6 下利用ansible自动化安装httpd服务

news/2025/2/26 4:31:56

一、ansible简介
  ansible是一款由python语言编写的一款自动化运维工具,它集合了众多运维工具(puppet、cfengine、chef、func、fabric)优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。它的创始人,Michael DeHaan(cobbler与Func软件的作者),他在2012年3月9日发布了ansible 0.01版。2015年10月17日被RedHat宣布收购。
二、ansible的特点
  1、无客户端,只需安装SSH、python即可,其中python建议版本2.6.6以上
  2、基于openssh通信,底层基于ssh协议(Windows基于powershell)
  3、支持密码和SSH认证,因可以通过系统帐户密码认证或公钥私钥认证,所以整个过程简单、方便、安全。
  4、支持Windows,但仅支持被管理端是Windows,管理端必须是Linux系统 
  5、模块化:调用特定的模块,完成特定任务
  6、支持playbook编排任务(类似shell中的脚本)
  7、幂等性:一个任务执行一遍和执行N遍的效果一样,不因重复执行带来意外情况
  8、可以使用任何编程语言编写模块(python可以调用其他语言的库)
  9、YAML格式,编排任务,支持丰富的数据结构
三、ansible是如何工作的?
  Ansible没有客户端,因此底层通信依赖系统软件,在Linux系统下基于openssh通信,在Windows下基于powershell,管理端必须是Linux系统,使用者认证通过后在管理节点通过ansible工具调用各应用模块指令推送至被管理端执行,并在执行完毕后自动删除产生的临时文件。
  
实验准备:

两台主机:
一台管理机(192.168.6.129)
一台客户机(192.168.6.130)

自动化安装httpd服务并且开机自动启动

一:管理机(192.168.6.129)

1.安装ansible服务 
yum -y install ansible
2.yum 仓库配置
[base]                     
name=cdrom repo            
baseurl=file:///mnt/cdrom  
enabled=1                  
gpgcheck=1                 
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7   

3.配置清单
/etc/ansible/ #目录
/etc/ansible/hosts #主机清单
/etc/ansible/ansible.cfg #主配置文件

在这里插入图片描述
4.实现远程主机的连接 (在192.168.6.129主机上)

ansible支持密码和SSH认证,因可以通过系统帐户密码认证或公钥私钥认证,所以整个过程简单、方便、安全,因此这里可以通过基于ssh 的Key认证来实现远程连接

ssh-genkey 
ssh-copy-id 192.168.6.129(主机端)
scp -r .ssh 192.168.6.130:~/ 

5.配置主机清单

Vim /etc/ansible/ansible/hosts

[websrvs]  #组名
192.168.6.130 #远程主机IP

测试:
先尝试下是否ping通192.168.6.130服务器

[root@Centos7 ansible]# ansible websrvs -m ping

成功:
在这里插入图片描述
6.配置自动化部署脚本 install_httpd.yml (对格式敏感)

---
  - hosts: websrvs    # /etc/ansible/hosts 文件配置中的websrvs
    remote_user: root # 用那个用户执行操作

    tasks:
      - name: copy epel file    # 简介
        copy: src=/etc/yum.repos.d/test.repo dest=/etc/yum.repos.d/test.repo #模块操作
      - name: clean yum    # 简介
        shell: yum clean all  #模块操作
      - name: flush yum     # 简介
        shell: yum repolist   #模块操作  
      - name: install httpd    # 简介
        yum: name=httpd    #模块操作
      - name: start httpd     # 简介
        service: name=httpd state=started enabled=yes  #模块操作

在这里插入图片描述
测试:

[root@Centos7 ansible]# ansible-playbook -C install_httpd.yml

7. 自动化安装ansible 服务
查看ss -ntl 状态

80端口没开 httpd 服务是80端口的
在这里插入图片描述
80端口没开 httpd 服务是80端口的

在这里插入图片描述
安装服务

ansible-playbook install_httpd.yml

在这里插入图片描述
查看客户机(192.168.6.130)80端口已开
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


http://www.niftyadmin.cn/n/2199349.html

相关文章

[vue]div高度height:100%不生效

2019独角兽企业重金招聘Python工程师标准>>> 解决了!除了设置app为100%template里第一个div就要100%https://segmentfault.com/a/1190000015789623https://blog.csdn.net/weixin_39973810/article/details/78549526 原理 App.vue// 高度百分百 html,body…

Httpd基础之搭建httpd服务器并提供两个基于名称的虚拟主机

说明 所谓虚拟主机不外乎就是一个物理主机上存在多个虚拟站点;通常httpd的虚拟主机有三类,分别是基于ip的虚拟主机、基于端口的虚拟主机以及基于FQDN的虚拟主机;不难理解基于ip的虚拟主机就是以不同IP来区分不同的虚拟主机;基于端…

JDK中的动态代理机制

定义 代理模式:为其他对象提供一种代理以控制对这个对象的访问。 事例 小明是一个程序员,在公司负责项目的研发工作。有一天,客户打电话进来,沟通之后,原来客户是有个模块需求要变动一下。小明却没有应允,而…

Linux 搭建私有CA证书服务器之超详细版本

一、CA简介 CA是什么?CA是Certificate Authority的简写,从字面意思翻译过来是凭证管理中心,认证授权。它有点类似我们生活中的身份证颁发机构,这里的CA就相当于生活中颁发身份证的机构。不同于生活中的颁发机构,这里的…

Linux部署分离的LAMP

两台主机: 一台192.168.6.129安装apache httpd mariadb; 一台192.168.6.130 安装php-fpm 在192.168.6.129上安装httpd 和mariadb [roothost1 yum.repos.d]# yum install httpd -y [roothost1 ~]# yum install MariaDB-server -y测试httpd mariadb服务…

Centos 7实现mariadb-10.2.25二进制源码编译

源码包:mariadb-10.2.25 主机 192.168.6.130 1.安装依赖包: [roothost2 data]# yum install yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c cmake ncurses-devel gnutls-devel libxml2-devel openss…

Centos 部署分离LAMP架构和实现wordpress安装

主机:两台CentOS7系统主机,一台实现apachephp (host1:192.168.6.129),一台实现mariadb (host2:192.168.6.130) 所需源码包: httpd-2.4.39.tar.bz2,php-7.3.12.tar.bz2,apr-1.7.0.tar.bz2,apr-u…

Loganalyzer日志的简单应用

实现过程: 要想图形化展示日志,我们可以利用rsyslog的前端展示工具loganalyzer来展示。用这个工具它是基于LAMP架构来实现的,在这之前我们先把apache的访问日志交给rsyslog,rsyslog再把对应的日志写到数据库里,然后通…