123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- # Class: nginx::param
- #
- # This module manages NGINX paramaters
- #
- # Parameters:
- #
- # There are no default parameters for this class.
- #
- # Actions:
- #
- # Requires:
- #
- # Sample Usage:
- #
- # This class file is not called directly
- class nginx::params {
- $nx_temp_dir = '/tmp'
- $nx_run_dir = '/var/nginx'
- $nx_conf_template = 'nginx/conf.d/nginx.conf.erb'
- $nx_proxy_conf_template = 'nginx/conf.d/proxy.conf.erb'
- $nx_confd_purge = false
- $nx_vhost_purge = false
- $nx_worker_processes = 1
- $nx_worker_connections = 1024
- $nx_worker_rlimit_nofile = 1024
- $nx_types_hash_max_size = 1024
- $nx_types_hash_bucket_size = 512
- $nx_names_hash_bucket_size = 64
- $nx_names_hash_max_size = 512
- $nx_multi_accept = off
- # One of [kqueue|rtsig|epoll|/dev/poll|select|poll|eventport]
- # or false to use OS default
- $nx_events_use = false
- $nx_sendfile = on
- $nx_keepalive_timeout = 65
- $nx_http_tcp_nodelay = on
- $nx_http_tcp_nopush = off
- $nx_gzip = on
- $nx_server_tokens = on
- $nx_spdy = off
- $nx_ssl_stapling = off
- $nx_proxy_redirect = off
- $nx_proxy_set_header = [
- 'Host $host',
- 'X-Real-IP $remote_addr',
- 'X-Forwarded-For $proxy_add_x_forwarded_for',
- ]
- $nx_proxy_cache_path = false
- $nx_proxy_cache_levels = '1'
- $nx_proxy_cache_keys_zone = 'd2:100m'
- $nx_proxy_cache_max_size = '500m'
- $nx_proxy_cache_inactive = '20m'
- $nx_fastcgi_cache_path = false
- $nx_fastcgi_cache_levels = '1'
- $nx_fastcgi_cache_keys_zone = 'd3:100m'
- $nx_fastcgi_cache_max_size = '500m'
- $nx_fastcgi_cache_inactive = '20m'
- $nx_fastcgi_cache_key = false
- $nx_fastcgi_cache_use_stale = false
- $nx_client_body_temp_path = "${nx_run_dir}/client_body_temp"
- $nx_client_body_buffer_size = '128k'
- $nx_client_max_body_size = '10m'
- $nx_proxy_temp_path = "${nx_run_dir}/proxy_temp"
- $nx_proxy_connect_timeout = '90'
- $nx_proxy_send_timeout = '90'
- $nx_proxy_read_timeout = '90'
- $nx_proxy_buffers = '32 4k'
- $nx_proxy_http_version = '1.0'
- $nx_proxy_buffer_size = '8k'
- $nx_proxy_headers_hash_bucket_size = '64'
- $nx_logdir = '/var/log/nginx'
- $nx_pid = $::kernel ? {
- /(?i-mx:linux)/ => $::osfamily ? {
- # archlinux has hardcoded pid in service file to /run/nginx.pid, setting
- # it will prevent nginx from starting
- /(?i-mx:archlinux)/ => false,
- default => '/var/run/nginx.pid',
- },
- /(?i-mx:sunos)/ => '/var/run/nginx.pid',
- /(?i-mx:freebsd)/ => '/var/run/nginx.pid',
- }
- $nx_conf_dir = $::kernelversion ? {
- /(?i-mx:joyent)/ => '/opt/local/etc/nginx',
- default => $::kernel ? {
- /(?i-mx:freebsd)/ => '/usr/local/etc/nginx',
- default => '/etc/nginx',
- }
- }
- if $::osfamily {
- $solaris_nx_daemon_user = $::kernelversion ? {
- /(?i-mx:joyent)/ => 'www',
- default => 'webservd',
- }
- $nx_daemon_user = $::osfamily ? {
- /(?i-mx:archlinux)/ => 'http',
- /(?i-mx:redhat|suse|gentoo|linux)/ => 'nginx',
- /(?i-mx:debian)/ => 'www-data',
- /(?i-mx:solaris)/ => $solaris_nx_daemon_user,
- /(?i-mx:freebsd)/ => 'www',
- }
- } else {
- warning('$::osfamily not defined. Support for $::operatingsystem is deprecated')
- warning("Please upgrade from facter ${::facterversion} to >= 1.7.2")
- $nx_daemon_user = $::operatingsystem ? {
- /(?i-mx:archlinux)/ => 'http',
- /(?i-mx:debian|ubuntu)/ => 'www-data',
- /(?i-mx:fedora|rhel|redhat|centos|scientific|suse|opensuse|amazon|gentoo|oraclelinux)/ => 'nginx',
- /(?i-mx:solaris)/ => 'webservd',
- /(?i-mx:freebsd)/ => 'www',
- }
- }
- $root_group = $::operatingsystem ? {
- 'FreeBSD' => 'wheel',
- default => 'root',
- }
- # Nginx is default launched as root if not change this parameter
- $nx_super_user = true
- # Service restart after Nginx 0.7.53 could also be just
- # "/path/to/nginx/bin -s HUP" Some init scripts do a configtest, some don't.
- # If configtest_enable it's true then service restart will take
- # $nx_service_restart value, forcing configtest.
- $nx_configtest_enable = false
- $nx_service_restart = '/etc/init.d/nginx configtest && /etc/init.d/nginx restart'
- $nx_service_ensure = running
- $nx_mail = false
- $nx_http_cfg_append = false
- $nx_nginx_error_log = "${nx_logdir}/error.log"
- $nx_http_access_log = "${nx_logdir}/access.log"
- # package name depends on distribution, e.g. for Debian nginx-full | nginx-light
- $package_name = 'nginx'
- $package_ensure = 'present'
- $package_source = 'nginx'
- $manage_repo = true
- # Specific owner for sites-available directory
- $sites_available_owner = 'root'
- $sites_available_group = $root_group
- $sites_available_mode = '0644'
- # Owner for all other files
- $global_owner = 'root'
- $global_group = $root_group
- $global_mode = '0644'
- }
|