Jak hostit více webů na jednom VPS

  • 3 min číst
  • Prosince 02, 2016

V tomto tutoriálu vám poskytneme podrobné pokyny jak hostovat více webů na jediné IP adrese s Apache nebo Nginx na Ubuntu VPS nebo CentOS 7 VPS. Hosting více domén / subdomén na VPS je poměrně snadný pomocí virtuálních hostitelů v Apache nebo pomocí serverových bloků v Nginxu.

Apache Virtual Hosts

Virtuální hostitelé v Apache umožňují uživatelům spouštět více webových stránek z jedné IP adresy, stejně jako nastavení jemného ladění pro každou stránku.

Aby se konfigurovat virtuální hostitele v Apache hostit více domén / subdomén, přihlaste se k serveru přes SSH a nainstalujte Apache:

Ubuntu nebo Debian:

apt-get update apt-get install apache2

CentOS nebo Fedora:

yum update yum install httpd

Vytvořte zálohu konfigurace Apache a nastavte pro své webové stránky směrnice pro virtuální hostitele:

Ubuntu nebo Debian:

Upravte hlavní konfigurační soubor Apache (/etc/apache2/apache2.conf) a odkomentujte následující řádek, pokud to ještě není hotovo (# jsou komentáře v konfiguračních souborech Apache):

vi /etc/apache2/apache2.conf IncludeOptional sites-enabled / *. conf

CentOS nebo Fedora:

Upravte hlavní konfigurační soubor Apache (/etc/httpd/conf/httpd.conf) a odkomentujte následující řádek:

vi /etc/httpd/conf/httpd.conf
NázevVirtualHost *: 80

Vezměte prosím na vědomí, že direktiva 'NameVirtualHost' je již ve výchozím nastavení povolena v systémech Ubuntu 16.04 a CentOS 7.

Vytvořte virtuální hostitele v Apache pro každou doménu / subdoménu. Vytvořte například virtuální hostitele pro domain1.com a domain2.com:

Ubuntu nebo Debian:

vi /etc/apache2/sites-available/domain1.conf

<VirtualHost *: 80>
DocumentRoot "/ var / www / html / domain1"
Název_serveru domain1.com
ServerAlias ​​www.domain1.com

# zadejte další směrnice zde, např .:

<Adresář / var / www / html / domain1 />
Možnosti FollowSymLinks
AllowOverride All
Řád povolit, zamítnout
umožňují ze všech

</ Directory>
ErrorLog /var/log/apache2/domain1.com-error_log
VlastníLog /var/log/apache2/domain2.com-access_log běžné
</ VirtualHost>

vi /etc/apache2/sites-available/domain2.conf

<VirtualHost *: 80>
DocumentRoot "/ var / www / html / domain2"
Název_serveru domain2.com
ServerAlias ​​www.domain2.com

# zadejte další směrnice zde
</ VirtualHost>

Povolte konfigurace "domain1.conf" a "domain2.conf" v Apache pomocí:

ln -s /etc/apache2/sites-available/domain1.conf /etc/apache2/sites-enabled/domain1.conf ln -s /etc/apache2/sites-available/domain2.conf / etc / apache2 / sites-enabled /domain2.conf

Nebo použijte příkaz a2ensite k povolení konfigurací 'domain1.conf' a 'domain2.conf' v Apache:

sudo a2ensite doména1.conf sudo a2ensite doména2.conf

Restartujte Apache, aby se změny projevily:

restartování služby apache2

CentOS nebo Fedora:
Upravte hlavní konfigurační soubor Apache (/etc/httpd/conf/httpd.conf) a na konci přidáte virtuální hostitele:

vi /etc/httpd/conf/httpd.conf

<VirtualHost *: 80>
DocumentRoot "/ var / www / html / domain1"
Název_serveru domain1.com
ServerAlias ​​www.domain1.com
# zadejte další směrnice zde
</ VirtualHost>
<VirtualHost *: 80>
DocumentRoot "/ var / www / html / domain2"
Název_serveru domain2.com
ServerAlias ​​www.domain2.com
# zadejte další směrnice zde
</ VirtualHost>

Restartujte Apache, aby se změny projevily:

service httpd restart

Vytvořte adresáře / var / www / html / domain1 a / var / www / html / domain2 a potom na ně vložte své webové stránky.

Všechny soubory webových stránek musí být čitelné webovým serverem, takže nastavte správné vlastnictví:

Ubuntu nebo Debian:

chown www-data: www-data -R / var / www / html / doména *

CentOS nebo Fedora:

chown apache: apache -R / var / www / html / doména *

Bloky serveru Nginx

Chcete-li nakonfigurovat serverové bloky v systému nginx pro hostitelské více domén / subdomén pomocí jediné IP adresy, přihlaste se k serveru přes SSH a nainstalujte nginx:

Ubuntu nebo Debian:

apt-get update apt-get install nginx

CentOS nebo Fedora:

yum update yum nainstalovat nginx

Vytvořte zálohu konfigurace nginx a nastavte blok serveru pro první web:

Ubuntu nebo Debian:

Vytvořte novou konfiguraci nginx pro první doménu:

vi /etc/nginx/sites-available/domain1.conf

Přidejte následující řádky:

server {poslech 80; server_name doména1.com; root /var/www/html/domain1.com; index index.html index.htm index.php; location / {try_files $ uri $ uri / = 404; } # zde přidejte další směrnice; }

CentOS nebo Fedora:

Spusťte následující příkazy:

mkdir / etc / nginx / sites-available mkdir / etc / nginx / sites-enabled

Přidejte následující řádky do hlavního konfiguračního souboru nginx (/etc/nginx/nginx.conf) na konci bloku HTTP:

vi /etc/nginx/nginx.conf
zahrnout /etc/nginx/sites-enabled/*.conf;

Vytvořte nový konfigurační soubor nginx pro první web:

vi /etc/nginx/sites-available/domain1.com
server {poslech 80; server_name doména1.com; root /var/www/html/domain1.com/; index index.html index.htm index.php; location / {try_files $ uri $ uri / = 404; } # zde přidejte další směrnice; }

Povolit konfigurace "domain1.conf" v nginxu pomocí:

sudo ln -s /etc/nginx/sites-available/domain1.com / etc / nginx / sites-enabled /

Restartujte nginx, aby se změny projevily:

restart služby nginx

Nahrajte jednotlivé webové stránky do kořenového adresáře zadaného v bloku serveru nginx, například:

mkdir -p / var / www / html / domain1

Nastavte správné vlastnictví souborů webových stránek, takže mohou být přístupné webovým serverem nginx (např. Www-data):

chown -R www-data: www-data / var / www / html / domain1

To je ono. Opakujte stejný postup pro každý další web.

Vezměte prosím na vědomí, že pro každou doménu nebo subdoménu, kterou chcete hostit na vašem serveru, je třeba vytvořit záznam A, který ukazuje na adresu vašeho serveru a jakmile se změny DNS plně šíří po internetu, měli by návštěvníci vašeho webu mít přístup k vašemu webových stránek pomocí webového prohlížeče.

Zdroj

Související příspěvek:

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *