• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. Article
  3. Как да настроите конфигурация на виртуален хост Apache (с примери)

Как да настроите конфигурация на виртуален хост Apache (с примери)

Rsdaa 30/10/2021 1671

Използвайки Apache Virtual Host, можете да стартирате няколко уебсайта на един и същи сървър.

Например, мога да стартирам както thegeekstuff.com, така и top5freeware.com на един физически сървър, на който работи един уеб сървър на Apache.

Фигура: Виртуален хост на Apache (няколко уебсайта, един Apache)

Има два типа конфигурации на виртуални хостове на Apache: 1) IP-базиран виртуален хост и 2) Базиран на имена виртуален хост. Виртуален хост, базиран на имена, се препоръчва за повечето сценарии.

IP-базиран виртуален хост

При тази конфигурация, когато насочвате два уебсайта (с различен ip-адрес) към сървъра, който изпълнява Apache, този физически сървър трябва да има конфигурирани два различни ip-адреса .

Това означава, че сървърът трябва да има две Ethernet карти, всяка от които е конфигурирана за ip-адреса на съответния уебсайт, който виртуалният хост на Apache ще обслужва. Така че това не е практично за повечето аспекти и не трябва да го използвате.

В следващия пример сървърът съдържа две NIC карти, едната е конфигурирана с 192.168.101.1 ip-адрес за thegeekstuff.com, другата е конфигурирана с 192.168.102.1 за top5freeware.com. И двата ip-адреса се обслужват от един уеб сървър на Apache, работещ на този сървър, използвайки виртуален хост, базиран на IP.

Фигура: IP-базиран виртуален хост на Apache

Виртуален хост, базиран на име

В тази конфигурация, когато уеб сървърът на Apache получи заявка, той търси името на хоста в HTTP заглавката и в зависимост от името на хоста, сървърира различни уебсайтове. Това е много лесно, тъй като имате нужда само от един ip-адрес на този физически сървър; но актуализирате DNS с множество имена на уебсайтове, сочещи към един и същ ip-адрес. За всички практически цели ще използвате само конфигурация на виртуален хост, базирана на имена.

В следващия пример сървърът съдържа само една NIC карта, която е конфигурирана с ip-адрес 192.168.101.1. DNS записът за уебсайта thegeekstuff.com и top5freeware.com сочи към 192.168.101.1 ip-адрес. Когато Apache получи заявка, той търси записа на името на хоста в HTTP заглавката и обслужва съответния уебсайт.

Фигура: Виртуален хост, базиран на имена на Apache

1. Разкоментирайте httpd-vhosts.conf в httpd.conf

Ако сте инсталирали Apache 2 от източника, по подразбиране следният ред ще бъде коментиран във файла httpd.conf. Разкоментирайте този ред.

# vi /usr/local/apache2/conf/httpd.confInclude conf/extra/httpd-vhosts.conf

2. Настройване на виртуални хостове

Променете httpd-vhosts.conf, както е показано по-долу, за да настроите настройката за базиран на име виртуален хост за два хоста.

NameVirtualHost *:80 – Показва, че всички виртуални хостове, базирани на имена, ще слушат на порта по подразбиране 80 – Оградете всички конфигурационни параметри на apache за всеки виртуален хост между тези маркери VirtualHost. Всички директиви на apache могат да се използват в контейнера virtualhost. В следващия пример настройваме виртуален хост за thegeekstuff.com и top5freeware.com, слушащи на един и същ порт 80. Така че ще има два, по един за всеки уебсайт. отидете на thegeekstuff.com, файловете под /usr/local/apache2/docs/thegeekstuff ще бъдат обслужвани от Apache; и access_log и error_log за този сайт ще отидат под /usr/local/apache2/logs/thegeekstuff# vi /usr/local/apache2/conf/extra/httpd-vhosts.confNameVirtualHost *:80ServerAdmin ramesh@thegeekstuff.comDocumentRoot "/usr /local/apache2/docs/thegeekstuff"Име на сървъра thegeekstuff.comServerAlias ​​www.thegeekstuff.comErrorLog "logs/thegeekstuff/error_log"CustomLog "logs/thegeekstuff/access_log" commonServerAdmin ramesh@top5freeware.comDocumentRoot "/usr/local/apache2/docs/ top5безплатен софтуер "ServerName top5freeware.comServerAlias ​​www.top5freeware.comErrorLog "logs/top5freeware/error_log"CustomLog "logs/top5freeware/access_log" common

3. Проверете синтаксиса на конфигурацията на VirtualHost

Проверете синтаксиса на виртуалната конфигурация, като използвате “httpd -S”, както е показано по-долу. Когато всичко е настроено правилно, то просто показва „Синтаксис OK“.

# /usr/local/apache2/bin/httpd -SVirtualHost configuration:Syntax OK

Когато нещо не е конфигурирано правилно, то ще покаже предупредително съобщение, включително съобщение „директорията не излиза“, както е показано по-долу.

# /usr/local/apache2/bin/httpd -SWarning: DocumentRoot [/usr/local/apache2/docs/top5freeware] не съществува Warning: ErrorLog [/usr/local/apache2/logs/thegeekstuff] не съществува Синтаксис OK

4. Рестартирайте Apache и тествайте

# /usr/local/apache2/bin/apachectl restart

Сега, когато отидете на thegeekstuff.com (или www.thegeekstuff.com), apache ще обслужва файловете от / директория usr/local/apache2/docs/thegeekstuff.

Когато отидете на top5freeware.com (или www.top5freeware.com), същият apache, работещ на същия сървър, ще обслужва файловете от директорията /usr/local/apache2/docs/top5freeware.

Само да повторя, за да работи правилно базираният на имена виртуален хост, записът в DNS и за двата уебсайта трябва да сочи към един и същ външен ip-адрес на физическия сървър, където работи уеб сървърът на Apache.


PREV: Намиране на най-добрия DNS за PS4 през 2021 г. | TechyThing

NEXT: Не може да се свърже с DHCP сървър | DHCP отстраняване на неизправности

Popular Articles

Hot Articles
Back to Top