2015-07-16 16:44:25 +07:00
|
|
|
Nginx for Debian Ansible role
|
|
|
|
=============================
|
2015-07-15 17:14:39 +07:00
|
|
|
|
2015-10-08 00:25:57 +07:00
|
|
|
[![Ansible Galaxy](http://img.shields.io/badge/ansible--galaxy-HanXHX.nginx-blue.svg)](https://galaxy.ansible.com/list#/roles/4399) [![Build Status](https://travis-ci.org/HanXHX/ansible-nginx.svg)](https://travis-ci.org/HanXHX/ansible-nginx)
|
2015-08-04 17:40:54 +07:00
|
|
|
|
2015-07-31 17:28:25 +07:00
|
|
|
Install and configure Nginx on Debian.
|
|
|
|
|
|
|
|
This role is not production ready. SSL management wille come later.
|
2015-07-15 17:14:39 +07:00
|
|
|
|
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
2015-07-16 16:44:25 +07:00
|
|
|
None.
|
2015-07-15 17:14:39 +07:00
|
|
|
|
|
|
|
Role Variables
|
|
|
|
--------------
|
|
|
|
|
2015-07-16 16:44:25 +07:00
|
|
|
- `nginx_apt_package`: APT nginx package (try: apt-cache search ^nginx)
|
|
|
|
- `nginx_root`: root directory where you want to have your files
|
|
|
|
- `nginx_log_dir`: log directory (if you change it, don't forget to change logrotate config)
|
|
|
|
- `nginx_ssl_dir`: directory where you install your SSL/TLS keys
|
|
|
|
- `nginx_resolver`: list of DNS resolver (default: OpenDNS)
|
|
|
|
- `nginx_error_log_level`: default log level
|
|
|
|
- `nginx_dh_length`: DH key length (default is 2048)
|
|
|
|
|
|
|
|
### PHP
|
|
|
|
|
|
|
|
- `nginx_php`: boolean if you need to preconfigure PHP (default: false)
|
|
|
|
- `nginx_php_sockets`: list of //sockets//
|
|
|
|
|
|
|
|
You should see [Nginx upstream module doc](http://nginx.org/en/docs/http/ngx_http_upstream_module.html).
|
|
|
|
|
|
|
|
Socket:
|
|
|
|
- `unix_socket`
|
|
|
|
- `host`
|
|
|
|
- `port`
|
|
|
|
- `weight`
|
|
|
|
- `max_fails`
|
|
|
|
- `fail_timeout`
|
|
|
|
|
|
|
|
### Nginx Configuration
|
|
|
|
|
|
|
|
- `nginx_user`
|
|
|
|
- `nginx_worker_processes`
|
|
|
|
- `nginx_events`: key/value in events block
|
|
|
|
- `nginx_http`: key/value in http block
|
|
|
|
|
|
|
|
### Vhost management
|
|
|
|
|
2015-07-31 17:28:25 +07:00
|
|
|
- `nginx_vhosts`: List of dict. A vhost has few keys. See bellow.
|
|
|
|
|
|
|
|
####
|
|
|
|
|
|
|
|
- `name`: (M) List of domain used. The first occurence is the most important!
|
|
|
|
- `template`: (M) template used to create vhost
|
|
|
|
- `enable`: (O) Enable the vhost (default is true)
|
|
|
|
- `delete`: (O) Delete the vhost (default is false)
|
2015-09-09 22:44:53 +07:00
|
|
|
- `redirect_from`: (O) Domain list to redirect to the first `name`. You can use this key to redirect non-www to www
|
|
|
|
- `location`: (O) Add new custom locations (it does not overwrite!)
|
|
|
|
- `more`: (O) Add more custom infos.
|
2015-09-21 16:47:49 +07:00
|
|
|
- `upstream_params`: (O) Add upstream params (useful when you want to pass variables to PHP)
|
2015-07-31 17:28:25 +07:00
|
|
|
|
|
|
|
(O) : Optional
|
|
|
|
(M) : Mandatory
|
|
|
|
|
|
|
|
#### Templates
|
2015-07-16 16:44:25 +07:00
|
|
|
|
2015-07-31 17:28:25 +07:00
|
|
|
- `base`: static template
|
|
|
|
- `php`: PHP base template. Can work with many frameworks/tools.
|
|
|
|
- `wordpress`
|
|
|
|
- `dokuwiki`
|
2015-07-16 16:44:25 +07:00
|
|
|
|
2015-07-31 17:28:25 +07:00
|
|
|
Templates works as parent-child.
|
2015-07-16 16:44:25 +07:00
|
|
|
|
2015-07-30 18:02:21 +07:00
|
|
|
You can see many examples in: [tests/test.yml](tests/test.yml).
|
2015-07-15 17:14:39 +07:00
|
|
|
|
|
|
|
Dependencies
|
|
|
|
------------
|
|
|
|
|
2015-07-16 16:44:25 +07:00
|
|
|
None
|
2015-07-15 17:14:39 +07:00
|
|
|
|
|
|
|
Example Playbook
|
|
|
|
----------------
|
|
|
|
|
|
|
|
- hosts: servers
|
|
|
|
roles:
|
2015-07-16 16:44:25 +07:00
|
|
|
- { role: HanXHX.nginx }
|
2015-07-15 17:14:39 +07:00
|
|
|
|
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
2015-07-16 16:44:25 +07:00
|
|
|
GPLv2
|
2015-07-15 17:14:39 +07:00
|
|
|
|
|
|
|
Author Information
|
|
|
|
------------------
|
|
|
|
|
2015-07-16 16:44:25 +07:00
|
|
|
- You can find many other roles in my GitHub "lab": https://github.com/HanXHX/my-ansible-playbooks
|
|
|
|
- All issues, pull-request are welcome :)
|
|
|
|
|