Ansible Role - Nginx
Go to file
Jeff Geerling 200011e4d1 Merge pull request #4 from mfriedenhagen/master
Move vars to defaults as otherwise they may not be overridden.
2014-12-08 22:02:52 -06:00
defaults Move vars to defaults as otherwise they may not be overridden. 2014-12-03 21:11:18 +01:00
files Initial commit. 2014-03-07 08:51:16 -06:00
handlers Initial commit. 2014-03-07 08:51:16 -06:00
meta Add EL7 to supported platforms. 2014-11-11 10:39:30 -06:00
tasks Add option to remove default nginx vhost config. 2014-08-21 15:41:31 -05:00
templates Update Nginx role to be more customizable. 2014-05-02 22:18:10 -05:00
tests Make tests pass. 2014-08-03 21:34:46 -05:00
vars Move vars to defaults as otherwise they may not be overridden. 2014-12-03 21:11:18 +01:00
.travis.yml Update test. 2014-11-08 14:36:17 -06:00
README.md Add option to remove default nginx vhost config. 2014-08-21 15:41:31 -05:00

README.md

Ansible Role: Nginx

Build Status

Installs Nginx on RedHat/CentOS or Debian/Ubuntu linux servers.

This role installs and configures the latest version of Nginx from the Nginx yum repository (on RedHat-based systems) or via apt (on Debian-based systems). You will likely need to do extra setup work after this role has installed Nginx, like adding your own [virtualhost].conf file inside /etc/nginx/conf.d/, describing the location and options to use for your particular website.

Requirements

None.

Role Variables

Available variables are listed below, along with default values (see vars/main.yml and defaults/main.yml):

nginx_remove_default_vhost: false
nginx_default_vhost_path: /etc/nginx/sites-enabled/default

Whether to remove the 'default' virtualhost configuration supplied by Nginx. Useful if you want the base / URL to be directed at one of your own virtual hosts configured in a separate .conf file. The nginx_default_vhost_path variable defines the path to the default vhosts file.

nginx_user: "nginx"

The user under which Nginx will run.

nginx_worker_processes: "1"
nginx_worker_connections: "8192"

nginx_worker_processes should be set to the number of cores present on your machine. Connections (find this number with grep processor /proc/cpuinfo | wc -l). nginx_worker_connections is the number of connections per process. Set this higher to handle more simultaneous connections (and remember that a connection will be used for as long as the keepalive timeout duration for every client!).

nginx_client_max_body_size: "64m"

This value determines the largest file upload possible, as uploads are passed through Nginx before hitting a backend like php-fpm. If you get an error like client intended to send too large body, it means this value is set too low.

nginx_keepalive_timeout: "65"

The keepalive timeout. Should be set higher (10s+) if you have more polling-style traffic (AJAX-powered sites especially), or lower (<10s) if you have a site where most users visit a few pages and don't send any further requests.

Dependencies

None.

Example Playbook

- hosts: server
  roles:
    - { role: geerlingguy.nginx }

License

MIT / BSD

Author Information

This role was created in 2014 by Jeff Geerling, author of Ansible for DevOps.