Puppet Class: apache::mod::prefork

Defined in:
manifests/mod/prefork.pp

Summary

Installs and configures MPM `prefork`.

Overview

Parameters:

  • startservers (Integer) (defaults to: 8)

    Number of child server processes created at startup.

  • minspareservers (Integer) (defaults to: 5)

    Minimum number of idle child server processes.

  • maxspareservers (Integer) (defaults to: 20)

    Maximum number of idle child server processes.

  • serverlimit (Integer) (defaults to: 256)

    Upper limit on configurable number of processes.

  • maxclients (Integer) (defaults to: 256)

    Old alias for MaxRequestWorkers.

  • maxrequestworkers (Optional[Integer]) (defaults to: undef)

    Maximum number of connections that will be processed simultaneously.

  • maxrequestsperchild (Integer) (defaults to: 4000)

    Old alias for MaxConnectionsPerChild.

  • maxconnectionsperchild (Optional[Integer]) (defaults to: undef)

    Limit on the number of connections that an individual child server will handle during its life.

  • listenbacklog (Integer) (defaults to: 511)

    Maximum length of the queue of pending connections.

See Also:



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'manifests/mod/prefork.pp', line 33

class apache::mod::prefork (
  Integer $startservers                     = 8,
  Integer $minspareservers                  = 5,
  Integer $maxspareservers                  = 20,
  Integer $serverlimit                      = 256,
  Integer $maxclients                       = 256,
  Optional[Integer] $maxrequestworkers      = undef,
  Integer $maxrequestsperchild              = 4000,
  Optional[Integer] $maxconnectionsperchild = undef,
  Integer $listenbacklog                    = 511
) {
  include apache
  if defined(Class['apache::mod::event']) {
    fail('May not include both apache::mod::prefork and apache::mod::event on the same node')
  }
  if defined(Class['apache::mod::peruser']) {
    fail('May not include both apache::mod::prefork and apache::mod::peruser on the same node')
  }
  if defined(Class['apache::mod::worker']) {
    fail('May not include both apache::mod::prefork and apache::mod::worker on the same node')
  }

  File {
    owner => 'root',
    group => $apache::params::root_group,
    mode  => $apache::file_mode,
  }

  # Template uses:
  # - $startservers
  # - $minspareservers
  # - $maxspareservers
  # - $serverlimit
  # - $maxclients
  # - $maxrequestworkers
  # - $maxrequestsperchild
  # - $maxconnectionsperchild
  file { "${apache::mod_dir}/prefork.conf":
    ensure  => file,
    content => template('apache/mod/prefork.conf.erb'),
    require => Exec["mkdir ${apache::mod_dir}"],
    before  => File[$apache::mod_dir],
    notify  => Class['apache::service'],
  }

  case $facts['os']['family'] {
    'redhat', 'debian', 'freebsd': {
      ::apache::mpm { 'prefork':
      }
    }
    'Suse': {
      ::apache::mpm { 'prefork':
        lib_path       => '/usr/lib64/apache2-prefork',
      }
    }
    'gentoo': {
      ::portage::makeconf { 'apache2_mpms':
        content => 'prefork',
      }
    }
    default: {
      fail("Unsupported osfamily ${$facts['os']['family']}")
    }
  }
}