4.9 KiB
Ansible NGINX Role
This role installs open source NGINX or NGINX Plus on your target host.
Requirements
This role was developed using Ansible 2.4.0.0. Backwards compatibility is not guaranteed.
Use ansible-galaxy install nginxinc.nginx
to install the role on your system.
It supports all platforms supported by open source NGINX and NGINX Plus:
Open Source NGINX:
CentOS:
versions:
- 6
- 7
RedHat:
versions:
- 6
- 7
Debian:
versions:
- jessie
- stretch
Ubuntu:
versions:
- trusty
- xenial
- zesty
SUSE/SLES:
versions:
- 12
NGINX Plus:
CentOS:
versions:
- 6
- 7
RedHat:
versions:
- 6
- 7
Debian:
versions:
- wheezy
- jessie
- stretch
Ubuntu:
versions:
- trusty
- xenial
- zesty
SUSE/SLES:
versions:
- 12
FreeBSD:
versions:
- 10.3
- 11
Oracle Linux:
versions:
- 6.5
- 7
Amazon Linux:
versions:
- 2016.09
Role Variables
This role has multiple variables. The defaults for all these variables are the following:
---
# Specify which version of NGINX you want to install.
# Options are 'opensource' or 'plus'.
# Default is 'opensource'.
type: opensource
# Specify which branch of Open Source NGINX you want to install.
# Options are 'mainline' or 'stable'.
# Default is stable.
branch: mainline
# Install nginscript, perl and/or waf modules.
# Default is false.
modules:
njs: false
perl: false
waf: false
# Install NGINX Amplify.
# Use your NGINX Amplify API key.
# Default is null.
amplify: null
# Enable NGINX status data.
# Will enable 'stub_status' in open source NGINX and 'status' in NGINX Plus.
# Default is false.
status: false
# Enable NGINX Plus REST API and dashboard.
# Default is false for all three variables.
api:
enable: false
write: false
dashboard: false
# Location of your NGINX Plus license in your local machine.
# Default is the files folder within the NGINX Ansible role.
license:
certificate: license/nginx-repo.crt
key: license/nginx-repo.key
# Location of the configuration files you wish to upload to NGINX.
# Default is the files folder within the NGINX Ansible role.
configuration_files:
enable: false
main: conf/nginx.conf
http: conf/http/*.conf
# Configuration variables to create a templated NGINX configuration.
# Defaults are the values found in a fresh NGINX installation.
configuration_templates:
enable: false
opensource:
user: nginx
worker_processes: 1
error_level: warn
worker_connections: 1024
keepalive_timeout: 65
listen: 80
server_name: localhost
plus:
user: nginx
worker_processes: auto
error_level: notice
worker_connections: 1024
keepalive_timeout: 65
listen: 80
server_name: localhost
Dependencies
None
Example Playbook
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost and installing the open source version of NGINX.
---
- hosts: localhost
become: true
roles:
- role: nginxinc.nginx
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost and installing NGINX Plus.
---
- hosts: localhost
become: true
roles:
- role: nginxinc.nginx
vars:
- type: plus
This is a sample playbook file for deploying the Ansible Galaxy NGINX role to a dynamic inventory containing the nginx
tag.
---
- hosts: tag_nginx
remote_user: root
roles:
- role: nginxinc.nginx
To run any of the above sample playbooks create a setup-nginx.yml
file and paste the contents. Executing the Ansible Playbook is then as simple as executing ansible-playbook setup-nginx.yml
.
Alternatively, you can also clone this repository instead of installing it from Ansible Galaxy. If you decide to do so, replace the role variable in the previous sample playbooks from nginxinc.nginx
to ansible-role-nginx
.
License
Author Information
Alessandro Fael Garcia