Хоствайте множество домейни на един сървър или IP с Apache или Nginx

Нека научим как да конфигурираме Apache и Nginx да хостват множество уебсайтове.

Хостингът на сайтове на облачния сървър дава голяма гъвкавост в сравнение със споделения хостинг. Можете да инсталирате каквото желаете, да увеличавате или намалявате и да конфигурирате за по-добра производителност и оптимизация на разходите.

Ако управлявате няколко бизнес сайта, но не искате да ги хоствате отделно, можете да се възползвате от виртуалния сървър в уеб сървърите. Нека да разгледаме този сценарий.

Имам следните два сайта, които бих искал да насоча към моята една облачна виртуална машина.

Преди внедряването, нека разберем как работи.

Концепцията за наличие на множество уебсайтове на едно копие на уеб сървър се нарича виртуален сървър. Той е дефиниран в конфигурационния файл заедно с URL адреса. Когато се направи заявка към определен URL адрес, уеб сървърът ще обслужва трафика от съответния корен на документа.

Конфигурирайте виртуален хост в Apache за хостване на множество домейни

  • Влезте в Apache HTTP сървър
  • Отидете до местоположението на apache conf. (при инсталация по подразбиране – ще го намерите тук /etc/httpd/conf/httpd.conf)
  • Направете резервно копие на файла httpd.conf
  • Създайте контейнер VirtualHost, както направих по-долу за два домейна.
<VirtualHost *:80>
ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/lab
   ServerName lab.pctechbg.net.com
   ErrorLog logs/lab.pctechbg.net.com-error_log
   CustomLog logs/lab.pctechbg.net.com-access_log common
</VirtualHost>

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/gf-dev
   ServerName gf.dev
   ErrorLog logs/gf.dev-error_log
   CustomLog logs/gf.dev-access_log common
</VirtualHost>

Забележка: Променете стойността за ServerAdmin, DocumentRoot, ServerName, ErrorLog, CustomLog въз основа на вашите изисквания.

  • Рестартирайте Apache HTTP и тествайте и двата URL адреса.
  Как да проверите дали вашият Chromecast все още получава актуализации

Конфигурирайте виртуален хост в Nginx за хостване на множество домейни

  • Влезте в сървъра на Nginx
  • Отидете до мястото, където сте инсталирали Nginx. (в местоположението по подразбиране – ще го намерите тук /etc/nginx/)

Има много начини да постигнете това. Или можете да промените файла nginx.conf или персонализирания файл, ако имате такъв. Можете също да създадете custom.conf в папка conf.d. Изберете какво работи за вас и направете резервно копие, ако променяте съществуващ файл.

  • Създайте сървърен блок и за двата URL адреса, както съм показал по-долу.
server {
listen 80;
   root /opt/htdocs/lab;
index index.html index.htm;
   server_name lab.pctechbg.net.com;
   location / {
       try_files $uri $uri/ =404;
   }
}

server {
   listen 80;
   root /opt/htdocs/gf-dev;
   index index.html index.htm;
   server_name gf.dev;
   location / {
       try_files $uri $uri/ =404;
   }
}

Забележка: Променете стойността за root, server_name въз основа на вашите изисквания.

  • Рестартирайте Nginx и тествайте и двата URL адреса
  Как да запазите лист в Excel като PDF

Не забравяйте да актуализирате DNS записа на вашия URL адрес, за да го съпоставите с IP адреса на сървъра. След като сте готови, трябва да имате достъп до URL адресите, които се обслужват чрез горната конфигурация, която сте направили.

Заключение

Това беше краткото ръководство за хостване на множество домейни в едно копие на уеб сървър като Apache или Nginx. След като вашият уебсайт е активен, не забравяйте да го тествате срещу уязвимости в сигурността.

Приятно ви е да прочетете статията? Какво ще кажете за споделяне със света?

  Как да добавите Dropbox и Google Drive към MS Office 2016 Save Locations