Apache. Документация на русском


Директивы Apache
  1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17    18    19    20    21    22    23    24    25    26    27    28    29    30    31    32    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    98    99    100    101    102    103    104    105    106    107    108    109    110    111    112    113    114    115    116    117    118    119    120    121    122    123    124    125    126    127    128    129    130    131    132    133    134    135    136    137    138    139    140    141    142    143    144    145    146    147    148    149    150    151    152    153    154    155    156    157    158    159    160    161    162    163    164    165  
  166    167    168    169    170    171    172    173    174    175    176    177    178    179    180    181    182    183    184    185    186    187    188    189    190    191    192    193    194    195    196    197    198    199    200    201    202    203    204    205    206    207    208    209    210    211    212    213    214    215    216    217    218    219    220    221    222    223    224    225    226    227    228    229    230    231    232    233    234    235    236    237    238    239    240    241    242  

 <         > 
Список директив: Core  |  ModRewrite  |  Lua  |  Proxy  |  SSL

Директива Mutex
  RU            EN  

Description:Configures mutex mechanism and lock file directory for all or specified mutexes
Syntax: Mutex mechanism [default|mutex-name] ... [OmitPID]
Default: Mutex default
Context:server config
Status:Core
Module:core
Compatibility:Available in Apache HTTP Server 2.3.4 and later

Описание: Настраивает механизм мьютексов и блокирует каталог файлов для всех или указанных мьютексов


Директива Mutex устанавливает механизм и, возможно, местоположение файла блокировки, которые httpd и модули используют для сериализации доступа к ресурсам. Укажите default в качестве второго аргумента изменение настроек для всех мьютексов; укажите имя мьютекса (см. таблицу ниже) в качестве второго аргумента, чтобы переопределить значения по умолчанию только для этого мьютекса.

Директива Mutex обычно используется в следующих исключительных ситуациях:

  • изменить механизм мьютекса, когда механизм по умолчанию, выбранный APR , имеет функциональную проблему или проблему с производительностью
  • изменить каталог, используемый файловыми мьютексами, когда каталог по умолчанию не поддерживает блокировку

Поддерживаемые модули

Эта директива настраивает только те мьютексы, которые были зарегистрированы на главном сервере с помощью ap_mutex_register() API. Все модули, связанные с httpd, поддерживают эту Mutex директиву, но сторонние модули могут не поддерживать. Обратитесь к документации стороннего модуля, в которой должны быть указаны имена мьютексов, которые можно настроить, если эта директива поддерживается.

Доступны следующие механизмы мьютекса:

  • default | yes

    Это выбирает реализацию блокировки по умолчанию, как определено APR . Реализация блокировки по умолчанию может быть отображена при запуске httpd с -V параметром.

  • none | no

    Это эффективно отключает мьютекс и разрешено для мьютекса только в том случае, если модуль указывает, что это допустимый выбор. Обратитесь к документации модуля для получения дополнительной информации.

  • posixsem

    Это вариант мьютекса, основанный на семафоре Posix.

    Предупреждение

    Владение семафором не восстанавливается, если поток в процессе, содержащем мьютекс, дает сбой сегментации, что приводит к зависанию веб-сервера.

  • sysvsem

    Это вариант мьютекса, основанный на семафоре SystemV IPC.

    Предупреждение

    Возможна «утечка» семафоров SysV, если процессы завершаются сбоем до того, как семафор будет удален.

    Безопасность

    API-интерфейс семафора допускает атаку типа «отказ в обслуживании» любыми CGI, работающими под тем же uid, что и веб-сервер ( т. е . всеми CGI, если только вы не используете что-то вроде suexec или cgiwrapper ).

  • sem

    Это выбирает «лучшую» доступную реализацию семафора, выбирая между семафорами Posix и SystemV IPC в указанном порядке.

  • pthread

    Это вариант мьютекса, основанный на мьютексе потоков Posix между процессами.

    Предупреждение

    В большинстве систем, если дочерний процесс аварийно завершится, удерживая мьютекс, использующий эту реализацию, сервер заблокируется и перестанет отвечать на запросы. В этом случае для восстановления серверу потребуется ручной перезапуск.

    Solaris и Linux являются заметными исключениями, поскольку они предоставляют механизм, который обычно позволяет восстановить мьютекс после аварийного завершения дочернего процесса, удерживающего мьютекс.

    Если ваша система совместима с POSIX или если она реализует эту pthread_mutexattr_setrobust_np() функцию, вы можете pthread безопасно использовать эту опцию.

  • fcntl:/path/to/mutex

    Это вариант мьютекса, в котором fcntl() в качестве мьютекса используются физический (замковый) файл и функция.

    Предупреждение

    Когда несколько мьютексов, основанных на этом механизме, используются в многопоточных средах с несколькими процессами, могут сообщаться об ошибках взаимоблокировки (EDEADLK) для допустимых операций с мьютексами, если он не поддерживает потоки fcntl() , например в Solaris.

  • flock:/path/to/mutex

    Это похоже на fcntl:/path/to/mutex метод, за исключением того, что flock() функция используется для блокировки файлов.

  • file:/path/to/mutex

    Это выбирает «лучшую» доступную реализацию блокировки файлов, выбирая между fcntl и flock в указанном порядке.

Большинство механизмов доступны только на избранных платформах, где базовая платформа и APR их поддерживают. Механизмы, доступные не на всех платформах, это posixsem , sysvsem , sem , pthread , fcntl , flock и file .

В файловых механизмах fcntl и flock путь, если он указан, представляет собой каталог, в котором будет создан файл блокировки. Каталог по умолчанию — это каталог файлов времени выполнения httpd относительно ServerRoot . Всегда используйте файловую систему локального диска /path/to/mutex и никогда не используйте каталог, находящийся в файловой системе NFS или AFS. Базовым именем файла будет тип мьютекса, необязательная строка экземпляра, предоставляемая модулем, и, если не OmitPID указано ключевое слово, будет добавлен идентификатор процесса родительского процесса httpd, чтобы сделать имя файла уникальным, избегая конфликтов при использовании нескольких httpd. экземпляры совместно используют каталог файла блокировки. Например, если имя мьютекса — mpm-accept , а каталог файла блокировки — /var/httpd/locks , имя файла блокировки для экземпляра httpd с идентификатором родительского процесса 12345 будет /var/httpd/locks/mpm-accept.12345 .

Безопасность

Лучше избегать размещения файлов мьютекса в доступном для записи каталоге, например, /var/tmp потому что кто-то может создать атаку типа «отказ в обслуживании» и помешать запуску сервера, создав файл блокировки с тем же именем, что и тот, который сервер попытается создать.

В следующей таблице указаны имена мьютексов, используемых httpd и связанными модулями.

Имя мьютекса Модуль(и) Защищенный ресурс
mpm-accept prefork и worker МРМ входящие соединения, чтобы избежать проблемы громоподобного стада; для получения дополнительной информации обратитесь к документации по настройке производительности.
authdigest-client mod_auth_digest список клиентов в разделяемой памяти
authdigest-opaque mod_auth_digest счетчик в разделяемой памяти
ldap-cache mod_ldap Кэш результатов LDAP
rewrite-map mod_rewrite связь с внешними картографическими программами, чтобы избежать смешанного ввода-вывода из нескольких запросов
ssl-cache mod_ssl Кэш сеанса SSL
ssl-stapling mod_ssl Кэш ответов сшивания OCSP
watchdog-callback mod_watchdog функция обратного вызова определенного клиентского модуля

Ключевое OmitPID слово подавляет добавление идентификатора родительского процесса httpd из имени файла блокировки.

В следующем примере механизм мьютекса для мьютекса принятия MPM будет изменен с скомпилированного по умолчанию на fcntl , а связанный файл блокировки будет создан в каталоге /var/httpd/locks . Механизм мьютексов для всех остальных мьютексов будет изменен с скомпилированного по умолчанию на sysvsem .

Mutex sysvsem default
Mutex fcntl:/var/httpd/locks mpm-accept
  RU            EN  


Рейтинг@Mail.ru