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 
目录
相关文章
|
12天前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
1月前
|
运维 负载均衡 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第34天】在现代IT运维工作中,自动化已成为提升效率、减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。我们将通过实际案例展示如何利用Ansible的Playbooks来自动化常见任务,并讨论其对提高运维团队工作效率的影响。
|
1月前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行批量服务器配置
【9月更文挑战第35天】在现代IT基础设施管理中,高效、可扩展的自动化工具是提升工作效率的关键。本文将引导您了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置过程,确保一致性和可靠性的同时减少人为错误。通过实际案例,我们将展示如何编写Ansible Playbook以实现批量服务器配置,从而让您能够更加轻松地管理和维护您的服务器群。
|
20天前
|
运维 应用服务中间件 调度
自动化运维:使用Ansible实现服务器批量管理
【10月更文挑战第26天】在当今快速发展的IT领域,自动化运维已成为提升效率、降低人为错误的关键技术手段。本文通过介绍如何使用Ansible这一强大的自动化工具,来简化和加速服务器的批量管理工作,旨在帮助读者理解自动化运维的核心概念和实践方法。文章将围绕Ansible的基础使用、配置管理、任务调度等方面展开,通过实际案例引导读者深入理解自动化运维的实现过程,最终达到提高运维效率和质量的目的。
|
1月前
|
运维 负载均衡 安全
自动化运维:使用Ansible进行服务器配置管理
【10月更文挑战第15天】在本文中,我们将探讨如何利用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。通过实际案例和代码示例,我们将展示Ansible如何帮助运维人员高效地进行软件部署、系统更新和日常维护任务,从而提升工作效率并减少人为错误。
|
1月前
|
运维 应用服务中间件 Linux
自动化运维:使用Ansible管理服务器配置
【10月更文挑战第2天】在现代IT运维中,自动化是提高效率和减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常的服务器管理工作。我们将从基础讲起,逐步深入到高级应用,展示如何通过编写简单的Playbooks来自动化复杂的配置任务。文章还将探讨Ansible的最佳实践,并分享一些实际案例来说明其在实际工作中的应用。
|
1月前
|
关系型数据库 MySQL 数据库
vertx 的http服务表单提交与mysql验证
本文介绍了如何使用Vert.x处理HTTP服务中的表单提交,并通过集成MySQL数据库进行验证,包括项目依赖配置、表单HTML代码和完整的Vert.x服务代码。
19 2
|
1月前
|
运维 应用服务中间件 nginx
自动化运维:使用Ansible管理服务器
【8月更文挑战第70天】随着互联网技术的飞速发展,服务器的数量和复杂性也在日益增加。如何高效、准确地管理这些服务器,成为了每一个运维人员必须面对的问题。本文将介绍如何使用Ansible这个开源的IT自动化工具,来帮助我们更好地管理服务器。Ansible以其简洁的语法、强大的功能和易于上手的特性,成为了运维人员的好帮手。我们将通过一些实际的例子,来看看Ansible是如何工作的。
|
2月前
|
存储 运维 Ubuntu
自动化运维:使用Ansible管理服务器
【8月更文挑战第61天】本文将介绍如何使用Ansible工具进行服务器的自动化管理。我们将从基础概念开始,逐步深入到实际的应用案例,最后通过代码示例展示如何实现自动化部署和配置管理。无论你是初学者还是有经验的运维工程师,这篇文章都会为你提供有价值的参考。
|
2月前
|
运维 Ubuntu 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第20天】在当今快速发展的信息技术时代,自动化运维已成为提升工作效率、减少人为错误的关键技术手段。本文将引导读者了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。通过实际代码示例,我们将一起探索Ansible的核心概念、基本操作以及如何构建可重复使用的Playbooks,旨在为读者提供一种清晰、高效的服务器管理方法。无论你是运维新手还是希望提高现有工作流程的效率,这篇文章都将为你提供宝贵的指导和启发。