2.5 KiB
2.5 KiB
Nginx for Debian Ansible role
Install and configure Nginx on Debian.
This role is not production ready. SSL management wille come later.
Requirements
None.
Role Variables
nginx_apt_package: APT nginx package (try: apt-cache search ^nginx)nginx_root: root directory where you want to have your filesnginx_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 keysnginx_resolver: list of DNS resolver (default: OpenDNS)nginx_error_log_level: default log levelnginx_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.
Socket:
unix_sockethostportweightmax_failsfail_timeout
Nginx Configuration
nginx_usernginx_worker_processesnginx_events: key/value in events blocknginx_http: key/value in http block
Vhost management
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 vhostenable: (O) Enable the vhost (default is true)delete: (O) Delete the vhost (default is false)redirect_from: (O) Domain list to redirect to the firstname. You can use this key to redirect non-www to wwwlocation: (O) Add new custom locations (it does not overwrite!)more: (O) Add more custom infos.upstream_params: (O) Add upstream params (useful when you want to pass variables to PHP)
(O) : Optional (M) : Mandatory
Templates
base: static templatephp: PHP base template. Can work with many frameworks/tools.wordpressdokuwiki
Templates works as parent-child.
You can see many examples in: tests/test.yml.
Dependencies
None
Example Playbook
- hosts: servers
roles:
- { role: HanXHX.nginx }
License
GPLv2
Author Information
- You can find many other roles in my GitHub "lab": https://github.com/HanXHX/my-ansible-playbooks
- All issues, pull-request are welcome :)