ansible roles 自动化部署http服务

简介: ansible roles 自动化部署http服务

1.创建目录

[root@ansible ~]# cd /etc/ansible/roles/

# 创建需要用到的目录

[root@ansible roles]# mkdir -p httpd/{handlers,tasks,templates,vars}

注意:初始化httpd角色,注意需要在roles目录下执行,并且更改ansible.cfg文件更改roles-path路径可以识别到自创建的角色。.

[root@ansible roles]# cd httpd/
[root@ansible httpd]# tree .
.
├── handlers
├── tasks
├── templates
└── vars
4 directories, 0 file

2.变文件量准备vars/main.yml

[root@ansible httpd]# vim vars/main.yml
portnum: 8909
username: www
groupname: www

3.配置文件模板准备templates/httpd.conf.j2

# copy一个本地的配置文件放在templates/下并已j2为后缀

[root@ansible httpd]# cp /etc/httpd/conf/httpd.conf templates/httpd.conf.j2

4.任务剧本编写,创建用户、创建组、安装软件、配置、启动等

# 创建组的task

root@ansible httpd]# vim tasks/group.yml
- name: Create a Startup Group
  group: name=www gid=60 system=yes

# 创建用户的task

[root@ansible httpd]# vim tasks/user.yml
- name: Create Startup Users
  user: name=www uid=60 system=yes shell=/sbin/nologin

# 安装软件的task

[root@ansible httpd]# vim tasks/install.yml
- name: Install Package Httpd
  yum: name=httpd state=installed

# 配置软件的task

[root@ansible httpd]# vim tasks/config.yml
- name: httpd configer file
  template:
    src: httpd/templates/httpd.conf.j2
    dest: /etc/httpd/conf/httpd.conf
  notify: restart httpd

# 启动软件的task

[root@ansible httpd]# vim tasks/start.yml
- name: Start Httpd Service
  service: name=httpd state=started enabled=yes

# 编写main.yml,将上面的这些task引入进来

[root@ansible httpd]# vim tasks/main.yml
  - import_tasks: group.yml
  - import_tasks: user.yml
  - import_tasks: install.yml
  - import_tasks:  start.yml
  - include_tasks: config.yml

5.编写重启httpd的handlers,handlers/main.yml

[root@ansible httpd]# vim handlers/main.yml
# 这里的名字需要和task中的notify保持一致
- name: Restart Httpd
  service: name=httpd state=restarted

6.编写主的httpd_roles.yml文件调用httpd角色

[root@ansible httpd]# cd ..
[root@ansible roles]# vim httpd_roles.yml
---
- hosts: all
  remote_user: root
  roles:
    - role: httpd        #指定角色名称

7.整体的一个目录结构查看

[root@server roles]# pwd
/root/ansible/roles
[root@server roles]# tree
.
├── httpd
│   ├── handlers
│   │   └── main.yml
│   ├── tasks
│   │   ├── config.yml
│   │   ├── group.yml
│   │   ├── install.yml
│   │   ├── main.yml
│   │   ├── start.yml
│   │   └── user.yml
│   ├── templates
│   │   └── httpd.conf.j2
│   └── vars
│       ├── httpd.conf.j2
│       └── main.yml
└── httpd_roles.yml

8.测试和在浏览器访问

[root@rhcsa playbook-project]# ansible-playbook playbook1.yml 
PLAY [rhce] ****************************************************************************
TASK [Gathering Facts] *****************************************************************
ok: [rhce]
TASK [httpd : stop firewalld] **********************************************************
ok: [rhce]
TASK [httpd : set selinux work mode] ***************************************************
ok: [rhce]
TASK [httpd : Create a Startup Group] **************************************************
ok: [rhce]
TASK [httpd : Create Startup Users] ****************************************************
ok: [rhce]
TASK [httpd : install httpd] ***********************************************************
ok: [rhce]
TASK [httpd : httpd configer file] *****************************************************
ok: [rhce]
TASK [debug] ***************************************************************************
ok: [rhce] => {
    "msg": "This is my task1"
}
PLAY RECAP *****************************************************************************
rhce                       : ok=8    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 
目录
相关文章
|
9天前
|
Java Maven Windows
使用Java创建集成JACOB的HTTP服务
本文介绍了如何在Java中创建一个集成JACOB的HTTP服务,使Java应用能够调用Windows的COM组件。文章详细讲解了环境配置、动态加载JACOB DLL、创建HTTP服务器、实现IP白名单及处理HTTP请求的具体步骤,帮助读者实现Java应用与Windows系统的交互。作者拥有23年编程经验,文章来源于稀土掘金。著作权归作者所有,商业转载需授权。
使用Java创建集成JACOB的HTTP服务
|
4天前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第13天】在IT运维领域,自动化工具的应用日益成为提升效率、降低错误率的关键。本文将介绍如何使用Ansible这一流行的自动化工具来简化和加速服务器的配置管理工作,通过实际案例展示其应用,并分享一些最佳实践。文章旨在帮助读者理解Ansible的核心概念,掌握基本使用方法,并鼓励大家探索更多可能的应用场景。
12 2
|
4天前
|
运维 应用服务中间件 网络安全
自动化运维的魔法:使用Ansible进行服务器配置管理
【9月更文挑战第13天】在这篇文章中,我们深入探讨如何利用Ansible这一强大的自动化工具来简化和加速你的服务器配置管理工作。我们将从基础概念出发,逐步引导你了解如何使用Ansible编写Playbooks,实现对服务器群的快速部署、配置更新与维护任务。通过实际案例,你将看到Ansible如何节省时间、减少人为错误并提高运维效率。无论你是初学者还是有经验的运维工程师,这篇文章都将带给你新的视角和启发。
|
6天前
|
运维 监控 应用服务中间件
自动化运维的利剑:Ansible在配置管理中的应用
【9月更文挑战第11天】 当运维工作遇到瓶颈,效率和可靠性成为制约因素时,自动化工具Ansible如同一把锋利的利剑,为配置管理和批量部署带来革命性的改变。本文将深入探讨Ansible的核心功能、使用方法及其在实际运维场景中的强大作用,带领读者领略自动化运维的魅力,并分享如何通过代码示例实现高效管理。
11 1
|
12天前
|
运维 Ubuntu Linux
掌握自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第5天】本文旨在通过深入浅出的方式,介绍如何利用Ansible这一强大的自动化工具来简化和加速日常的服务器配置管理工作。文章将首先概述自动化运维的重要性,接着详细讲解Ansible的基本概念、安装过程及其在服务器配置中的应用实例。我们将通过具体的操作步骤和代码示例,展示如何使用Ansible编写任务,以及如何执行这些任务以实现批量的服务器配置。最后,文章将探讨一些高级用法,帮助读者进一步提升自动化运维的能力。
|
13天前
|
运维 应用服务中间件 持续交付
自动化运维的利器:Ansible在配置管理中的应用
【9月更文挑战第4天】在现代企业中,随着服务器数量的增加和业务的复杂性提高,传统的手动运维方式已经无法满足快速、高效、稳定的业务需求。自动化运维应运而生,成为提升工作效率、减少人为错误的关键技术。本文将介绍Ansible这一自动化运维工具,通过实例展示其在配置管理中的应用,帮助读者理解如何借助Ansible简化日常运维工作,实现服务器的批量管理与自动化部署。
38 4
|
18天前
|
运维 关系型数据库 MySQL
自动化运维:使用Ansible管理服务器
【8月更文挑战第31天】在这篇文章中,我们将探讨如何使用Ansible进行自动化运维。Ansible是一种开源的IT自动化工具,可以用于配置管理、应用部署、任务执行等。我们将通过一个简单的例子,展示如何使用Ansible来管理服务器。无论你是初学者还是有经验的开发者,都可以从这篇文章中获得一些有用的信息。
|
18天前
|
运维 Ubuntu 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【8月更文挑战第31天】在现代IT运维的快速迭代中,自动化已成为提升效率与减少错误的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化服务器的配置管理工作。我们将从基础讲起,涵盖安装、配置到实战应用,让您轻松上手自动化您的服务器环境。
|
18天前
|
运维 Devops 网络安全
自动化运维:使用Ansible实现服务器配置管理
【8月更文挑战第31天】在快速迭代的软件开发周期中,自动化运维成为提升效率的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化服务器的配置管理任务。通过实际操作案例,你将学会如何编写Ansible playbook,实现自动化部署和配置,从而节省时间并减少人为错误。
|
12天前
|
运维 应用服务中间件 持续交付
自动化运维之路:使用Ansible进行服务器配置管理
【9月更文挑战第5天】本文将引导您了解如何利用Ansible这一强大的自动化工具,来简化和加速您的服务器配置管理工作。我们将通过实际代码示例,展示如何使用Ansible编写Playbook,实现自动化部署、配置更新和任务执行。通过阅读本文,您不仅能够掌握Ansible的基本用法,还将学会如何构建可重复使用的自动化脚本,以提升运维效率和减少人为错误。