Http-сервер Apache - один экземпляр на виртуальный хост - PullRequest
1 голос
/ 16 декабря 2011

Мне было интересно работать с http-сервером apache, основываясь на следующих параметрах:

  1. На одном сервере, выполняющем listenin на одном порту
  2. Настроив несколько виртуальных хостов, по одному на домен
  3. при запуске каждого Virtualhost в качестве экземпляра, прослушивающего в порту 80
  4. , была возможность перезагрузить одну конфигурацию домена без перезагрузки остальных.

У меня есть сомнения по поводу потребления памяти, и если есть, как мне его улучшить.

  • Не думаю, что это будет проблемой с памятью (поправьте меня, если я ошибаюсь) как только работает только один http-сервер?

  • или, возможно, да, потому что каждый экземпляр потребляет независимую память?

  • должно быть такое же потребление памяти, как и при запуске всех VirtuallHosts в главном конфигурационном файле apache?

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

Thanx

Ответы [ 2 ]

2 голосов
/ 16 декабря 2011

Во-первых, я не думаю, что вы можете запустить несколько экземпляров apache, если они все слушают порт 80. Только один процесс может связать порт .

В Apache будет несколько дочерних процессоввсе дочерние процессы процесса listenign на порте 80, но каждый дочерний процесс может использоваться для любого VirtualHost.

Этого можно достичь, привязав разные IP-адреса к порту 80, так что имея VirtualHosts на основе IP .Или используя один Apache в качестве прокси для других экземпляров Apache, связанных с другими портами.

Но проблема перезапуска не является реальной проблемой.Apache может выполнить безопасный перезапуск (перезагрузить в некоторых дистрибутивах), когда каждый дочерний процесс перезагружается после завершения его работ.Это прозрачный перезапуск без прерывания HTTP-запроса.Добавление или удаление VirtualHost не требует перезапуска, достаточно простой перезагрузки.

0 голосов
/ 16 декабря 2011

Я должен думать, что есть способы достижения того, чего вы хотите, без индивидуальных примеров.Серьезно крупные виртуальные хостинговые компании используют apache, мне трудно поверить, что ваши потребности сложнее, чем их.Пример: http://httpd.apache.org/docs/2.0/vhosts/mass.html

Возможно, вам следует запустить два сервера Apache, чтобы выполнить повторный перезапуск, когда это действительно необходимо, что также предотвратит отключение любого отдельного сайта.

...