Saltstack Official Nginx Formula
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

преди 10 години
преди 10 години
преди 9 години
преди 7 години
преди 10 години
преди 10 години
преди 7 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 7 години
преди 7 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 7 години
преди 7 години
преди 10 години
преди 7 години
преди 10 години
преди 7 години
преди 10 години
преди 7 години
преди 9 години
преди 7 години
преди 9 години
преди 7 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. # nginx:
  2. install_from_source: True
  3. use_upstart: True
  4. use_sysvinit: False
  5. user_auth_enabled: True
  6. with_luajit: False
  7. with_openresty: True
  8. repo_version: development # Must be using ppa install by setting `repo_source = ppa`
  9. set_real_ips: # NOTE: to use this, nginx must have http_realip module enabled
  10. from_ips:
  11. - 10.10.10.0/24
  12. real_ip_header: X-Forwarded-For
  13. modules:
  14. headers-more:
  15. source: http://github.com/agentzh/headers-more-nginx-module/tarball/v0.21
  16. source_hash: sha1=dbf914cbf3f7b6cb7e033fa7b7c49e2f8879113b
  17. # ========
  18. # nginx.ng
  19. # ========
  20. nginx:
  21. ng:
  22. # The following three `install_from_` options are mutually exclusive. If none is used, the distro's provided
  23. # package will be installed. If one of the `install_from` option is set to `True`, the state will
  24. # make sure the other two repos are removed.
  25. # Use the official's nginx repo binaries
  26. install_from_repo: false
  27. # Use Phusionpassenger's repo to install nginx and passenger binaries
  28. # Debian, Centos, Ubuntu and Redhat are currently available
  29. install_from_phusionpassenger: false
  30. # PPA install
  31. install_from_ppa: false
  32. # Set to 'stable', 'development' (mainline), 'community', or 'nightly' for each build accordingly ( https://launchpad.net/~nginx )
  33. ppa_version: 'stable'
  34. # Source install
  35. source_version: '1.10.0'
  36. source_hash: ''
  37. # These are usually set by grains in map.jinja
  38. # Typically you can comment these out.
  39. lookup:
  40. package: nginx-custom
  41. service: nginx
  42. webuser: www-data
  43. conf_file: /etc/nginx/nginx.conf
  44. server_available: /etc/nginx/sites-available
  45. server_enabled: /etc/nginx/sites-enabled
  46. server_use_symlink: True
  47. # If you install nginx+passenger from phusionpassenger in Debian, these values will probably be needed
  48. passenger_package: libnginx-mod-http-passenger
  49. passenger_config_file: /etc/nginx/conf.d/mod-http-passenger.conf
  50. # This is required for RedHat like distros (Amazon Linux) that don't follow semantic versioning for $releasever
  51. rh_os_releasever: '6'
  52. # Currently it can be used on rhel/centos/suse when installing from repo
  53. gpg_check: True
  54. pid_file: /var/run/nginx.pid ### Prevent Rendering SLS error (map.jinja:149) if nginx.server.config.pid undefined (Ubuntu, etc) ###
  55. # Source compilation is not currently a part of nginx.ng
  56. from_source: False
  57. source:
  58. opts: {}
  59. package:
  60. opts: {} # this partially exposes parameters of pkg.installed
  61. service:
  62. enable: True # Whether or not the service will be enabled/running or dead
  63. opts: {} # this partially exposes parameters of service.running / service.dead
  64. server:
  65. opts: {} # this partially exposes file.managed parameters as they relate to the main nginx.conf file
  66. # nginx.conf (main server) declarations
  67. # dictionaries map to blocks {} and lists cause the same declaration to repeat with different values
  68. config:
  69. source_path: salt://path_to_nginx_conf_file/nginx.conf # IMPORTANT: This option is mutually exclusive with the rest of the
  70. # options; if it is found other options (worker_processes: 4 and so
  71. # on) are not processed and just upload the file from source
  72. worker_processes: 4
  73. load_module: modules/ngx_http_lua_module.so # this will be passed very first in configuration; otherwise nginx will fail to start
  74. pid: /var/run/nginx.pid ### Directory location must exist
  75. events:
  76. worker_connections: 768
  77. http:
  78. sendfile: 'on'
  79. include:
  80. #### Note: Syntax issues in these files generate nginx [emerg] errors on startup. ####
  81. - /etc/nginx/mime.types
  82. - /etc/nginx/conf.d/*.conf
  83. - /etc/nginx/sites-enabled/*
  84. servers:
  85. disabled_postfix: .disabled # a postfix appended to files when doing non-symlink disabling
  86. symlink_opts: {} # partially exposes file.symlink params when symlinking enabled sites
  87. rename_opts: {} # partially exposes file.rename params when not symlinking disabled/enabled sites
  88. managed_opts: {} # partially exposes file.managed params for managed server files
  89. dir_opts: {} # partially exposes file.directory params for site available/enabled dirs
  90. # server declarations
  91. # servers will default to being placed in server_available
  92. managed:
  93. mysite: # relative pathname of the server file
  94. # may be True, False, or None where True is enabled, False, disabled, and None indicates no action
  95. enabled: True
  96. # Remove the site config file. Nice to clean up the conf.d (or sites-available).
  97. # It also remove the symlink (if it is exists).
  98. # The site MUST be disabled before delete it (if not the nginx is not reloaded).
  99. deleted: True
  100. ###########
  101. ## Modify 'available_dir' AND 'enabled_dir' '/etc/nginx' location to alternative value.
  102. ###########
  103. available_dir: /etc/nginx/sites-available # an alternate directory (not sites-available) where this server may be found
  104. enabled_dir: /etc/nginx/sites-enabled # an alternate directory (not sites-enabled) where this server may be found
  105. disabled_name: mysite.aint_on # an alternative disabled name to be use when not symlinking
  106. overwrite: True # overwrite an existing server file or not
  107. # May be a list of config options or None, if None, no server file will be managed/templated
  108. # Take server directives as lists of dictionaries. If the dictionary value is another list of
  109. # dictionaries a block {} will be started with the dictionary key name
  110. config:
  111. - server:
  112. - server_name: localhost
  113. - listen:
  114. - 80
  115. - default_server
  116. - index:
  117. - index.html
  118. - index.htm
  119. - location ~ .htm:
  120. - try_files:
  121. - $uri
  122. - $uri/ =404
  123. - test: something else
  124. # The above outputs:
  125. # server {
  126. # server_name localhost;
  127. # listen 80 default_server;
  128. # index index.html index.htm;
  129. # location ~ .htm {
  130. # try_files $uri $uri/ =404;
  131. # test something else;
  132. # }
  133. # }
  134. mysite2: # Using source_path options to upload the file instead of templating all the file
  135. enabled: True
  136. available_dir: /etc/nginx/sites-available
  137. enabled_dir: /etc/nginx/sites-enabled
  138. config:
  139. source_path: salt://path-to-site-file/mysite2
  140. # Below configuration becomes handy if you want to create custom configuration files
  141. # for example if you want to create /usr/local/etc/nginx/http_options.conf with
  142. # the following content:
  143. # sendfile on;
  144. # tcp_nopush on;
  145. # tcp_nodelay on;
  146. # send_iowait 12000;
  147. http_options.conf:
  148. enabled: True
  149. available_dir: /usr/local/etc/nginx
  150. enabled_dir: /usr/local/etc/nginx
  151. config:
  152. - sendfile: 'on'
  153. - tcp_nopush: 'on'
  154. - tcp_nodelay: 'on'
  155. - send_iowait: 12000
  156. certificates_path: '/etc/nginx/ssl' # Use this if you need to deploy below certificates in a custom path.
  157. # If you're doing SSL termination, you can deploy certificates this way.
  158. # The private one(s) should go in a separate pillar file not in version
  159. # control (or use encrypted pillar data).
  160. certificates:
  161. 'www.example.com':
  162. public_cert: |
  163. -----BEGIN CERTIFICATE-----
  164. (Your Primary SSL certificate: www.example.com.crt)
  165. -----END CERTIFICATE-----
  166. -----BEGIN CERTIFICATE-----
  167. (Your Intermediate certificate: ExampleCA.crt)
  168. -----END CERTIFICATE-----
  169. -----BEGIN CERTIFICATE-----
  170. (Your Root certificate: TrustedRoot.crt)
  171. -----END CERTIFICATE-----
  172. private_key: |
  173. -----BEGIN RSA PRIVATE KEY-----
  174. (Your Private Key: www.example.com.key)
  175. -----END RSA PRIVATE KEY-----
  176. dh_param:
  177. 'mydhparam1.pem': |
  178. -----BEGIN DH PARAMETERS-----
  179. (Your custom DH prime)
  180. -----END DH PARAMETERS-----
  181. # or to generate one on-the-fly
  182. 'mydhparam2.pem':
  183. keysize: 2048
  184. # Passenger configuration
  185. # Default passenger configuration is provided, and will be deployed in
  186. # /etc/nginx/conf.d/passenger.conf
  187. passenger:
  188. passenger_root: /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  189. passenger_ruby: /usr/bin/ruby
  190. passenger_instance_registry_dir: /var/run/passenger-instreg