Book Image

Ansible Playbook Essentials

By : Gourav Shah, GOURAV JAWAHAR SHAH
Book Image

Ansible Playbook Essentials

By: Gourav Shah, GOURAV JAWAHAR SHAH

Overview of this book

Ansible Playbook Essentials will show you how to write a blueprint of your infrastructure, encompassing multitier applications using Ansible's playbooks. Beginning with basic concepts such as plays, tasks, handlers, inventory, and YAML Ain't Markup Language (YAML) syntax that Ansible uses, you'll understand how to organize your code into a modular structure. Building on this, you will study techniques to create data-driven playbooks with variables, templates, logical constructs, and encrypted data, which will further strengthen your application skills in Ansible. Adding to this, the book will also take you through advanced clustering concepts, such as discovering topology information about other nodes in the cluster and managing multiple environments with isolated configurations. As you approach the concluding chapters, you can expect to learn about orchestrating infrastructure and deploying applications in a coordinated manner. By the end of this book, you will be able to design solutions to your automation and orchestration problems using playbooks quickly and efficiently.
Table of Contents (20 chapters)
Ansible Playbook Essentials
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Setting Up the Learning Environment
References
Index

Creating Nginx virtual hosts


After installing the php5-fpm manager and creating the MySQL databases and user accounts, the last bit of configuration that is left is to create a virtual host with Nginx to serve our WordPress application. The Nginx web server that we installed earlier serves a simple HTML page and is not aware of the existence of the WordPress application or how to serve it. Let's start by adding these configurations.

Defining the PHP site information

In addition to the fifanews.com site that we are setting up, we may also launch a few more sites related to soccer in future. Hence, we need to have the ability to programmatically add multiple sites with the same Nginx server. Creating a dictionary to define site information and embedding it into a template sounds like a good choice for this. Since site information is specific to us, we will add the variable hash to the group_vars file, as follows:

#filename: group_vars/all
nginx:
  phpsites:
    fifanews:
      name: fifanews...