Как запустить два экземпляра Apache

Если вам нужно запустить ещё один процесс веб-сервера Apache, то с вероятностью 99,99% вам это, на самом деле, не нужно. Практически все задачи, для которых может потребоваться ещё один процесс Apache можно решать в рамках одного единственного процесса и конфигурационного файла. Продолжите изучение документации по веб-серверу и вы сможете решить вашу задачу более правильным путём, без запуска второго экземпляра Apache.

К примеру, если вы хотите чтобы на одном компьютере можно было запустить несколько сайтов, то смотрите статьи:

Если вы хотите, чтобы веб-сервер работал сразу на нескольких портах, то смотрите статьи:

Если вы хотите, чтобы веб-сервер одновременно работал и с обычными и безопасными соединениями HTTPS (используя сертификат SSL), то изучите:

Тем не менее, если вы твёрдо знаете, что вам нужен именно второй процесс Apache, то вы можете использовать опцию -f, после которой нужно указать альтернативный конфигурационный файл сервера. Если Apache уже запущен, то вам, как минимум, во втором конфигурационном файле нужно указать другой порт, поскольку в противном случае веб-сервер не запустится из-за ошибки: порт уже занят другой программой.

К примеру, я хочу запустить второй экземпляр Apache, исполнимый файл которого расположен по пути c:\Server\bin\Apache24\bin\httpd.exe при этом я хочу использовать конфигурационный файл c:\Server\bin\Apache24\conf\test_httpd.conf и я хочу выполнять запуск в режиме отладки (без отсоединения процесса от консоли) (-X):

c:\Server\bin\Apache24\bin\httpd.exe -f c:\Server\bin\Apache24\conf\test_httpd.conf -X

В дополнении к опциям -f и -X также при запуске второго экземпляра программы могут пригодиться опции:

  -D имя            : задать имя для использования в директивах <IfDefine name>
  -d директория     : указать альтернативный начальный ServerRoot
  -f файл           : указать альтернативный конфигурационный файл сервера
  -C "директива"    : обработать директиву перед чтением конфигурационных файлов
  -c "директива"    : обработать директиву после чтения конфигурационного файла
  -e уровень        : показать ошибки запуска указанного уровня (смотрите LogLevel)
  -E файл           : записать ошибки запуска в файл
  -L                : список доступных конфигурационных директив
  -T                : запуск без проверок DocumentRoot
  -X                : режим отладки (только один воркер, не отсоединять от командной строки)

Информацию про LogLevel вы найдёте в статье Apache log (логи): как настроить и анализировать журналы веб-сервера.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *