В основном Вам будет нужен a
для каждого домена, каждого вместе с его собственным ServerName
и ServerAlias
, в каждом Вы поместите директивы, связанные с прокси и кэшем.
Я предлагаю, чтобы Вы поместили один домен на файл, в общем dir, и включали все это из основного апачского файла. Большинство дистрибутивов Linux делает это в наше время использование каталогов как Debian/Ubuntu's sites-available
и sites-enabled
- все домены являются файлами в доступном dir и просто связанный во включенном dir, который будет активирован.
И я знаю, что это не то, что Вы спросили, но так как это - просто доменная парковка, Вы рассмотрели использование nginx? Это разработано к вещам как это (фронтэнд для получения больших хитов и подачи статичное/кэшировать/проксировать содержание).
Вы можете сделать это с помощью встроенного мониторинга журнала событий.
Если пул приложений завершает работу из-за быстрой защиты от сбоев, вероятно, в журнале системных событий имеется идентификатор события 5002, подобный следующему:
«Пул приложений AppPoolName автоматически отключается из-за серии сбоев в процессах, обслуживающих этот пул приложений »
Создайте запланированную задачу для настраиваемого триггера журнала событий. Ручной XML-запрос будет выглядеть примерно так:
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">*[System[Provider[@Name='Microsoft-Windows-WAS'] and (EventID=5002)]]
and *[EventData[Data[@Name='AppPoolID'] and (Data='YourAppPoolFriendlyName')]]</Select>
</Query>
</QueryList>
Запланированное действие задачи может заключаться в запуске сценария, запускающего appcmd для перезапуска определенного пула приложений.
appcmd recycle apppool /?
Recycle application pool
APPCMD recycle APPPOOL <identifier> <-parameter1:value1 ...>
Recycles the specified application pool, recycling its the worker processes.
The exact application pool identifier must be provided and must resolve to an
existing application pool.
Supported parameters:
identifier (required)
Application pool name of the application pool to recycle
/apppool.name
Application pool name of the application pool to recycle (same as
identifier)
Examples:
appcmd recycle apppool "MyAppPool"
Recycle the application pool "MyAppPool".
Если у вас есть несколько пулов приложений на одном сервере, вам может потребоваться уточнить фильтр XML, чтобы указать идентификатор пула приложений. Вот пример XML-текста события:
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Microsoft-Windows-WAS" Guid="{524B5D04-133C-4A62-8362-64E8EDB9CE40}" EventSourceName="WAS" />
<EventID Qualifiers="49152">5002</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2012-10-01T19:41:43.000000000Z" />
<EventRecordID>408764</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>System</Channel>
<Computer>WEBSERVERNAME.company.com</Computer>
<Security />
</System>
- <EventData>
<Data Name="AppPoolID">YourAppPoolFriendlyName</Data>
<Binary />
</EventData>
</Event>
Информация о расширенной фильтрации журнала событий:
https://blogs.technet.com/b/askds/archive/2011/09/26/advanced-xml-filtering-in -the-windows-event-viewer.aspx
Используйте APPCMD для повторного использования пула приложений:
http://technet.microsoft.com/en-us/library/cc770764%28v=ws.10%29. aspx
К вашему сведению, если он не работает из-за быстрой защиты от сбоев, вы можете отключить это, вместо того, чтобы ходить вокруг него на цыпочках: