Tento článek podrobně popisuje, jak nakonfigurovat virtuální hosting pro Nginx. Pokud hledáte průvodce pro Apache, klikněte sem.
Je několik důvodů, proč můžete chtít hostovat více webových stránek na jednom serveru. Pokud používáte dedikovaný server / VPS a chcete hostovat více aplikací na samostatné doméně a jednom serveru, budete muset hostovat více webových stránek na jednom serveru. Můžete toho dosáhnout s virtuálním hostingem Apache / Nginx. Virtuální hosting vám umožňuje používat jeden VPS pro hostování všech vašich domén. Hostování více webových stránek na jediném serveru VPS pomocí virtuálního hostingu je tedy nejlepším řešením, jak snížit náklady na hosting.
Teoreticky neexistuje žádné omezení počtu webů, které můžete hostovat na svém VPS pomocí Apache nebo Nginx. Ujistěte se však, že váš server má dostatek místa na disku, CPU a RAM.
V tomto tutoriálu se naučíme, jak nastavit více webových stránek na Ubuntu VPS s Nginx.
Webdock nedoporučuje používat naše servery pro sdílený hosting, protože to může způsobit řadu problémů a brání vám v používání některých našich nástrojů pro správu, konkrétně naší snadné správy Let's Encrypt / Certbot pro SSL certifikáty a správu Wordpress. Klikněte sem a přečtěte si, proč si myslíme, že byste skutečně měli používat jeden VPS pro každý web/aplikaci.
Upozornění: Provedení těchto akcí může způsobit výpadek serveru. Nedělejte to na živém webu, aniž byste znali možné důsledky.
Poznámka: Ke správě DNS záznamů se můžete podívat na Webdock DNS Guide.
V této části vám ukážeme, jak hostovat dva weby s názvem web1.webdock.io a web2.webdock.io na jediném Ubuntu VPS s webovým serverem Nginx.
Před spuštěním se ujistěte, že je na vašem VPS nainstalován zásobník LEMP. Stav serveru Nginx můžete zkontrolovat pomocí následujícího příkazu:
systemctl status nginxNejlepší metodou pro hostování více webových stránek je vytvoření samostatného kořenového adresáře dokumentu a konfiguračního souboru pro každý web. Takže budete muset vytvořit adresářovou strukturu pro oba weby uvnitř webového kořene Nginx:
Pro každý web spusťte následující příkaz:
mkdir /var/www/html/web1.webdock.iomkdir /var/www/html/web2.webdock.ioDále budete muset vytvořit ukázkový obsah webu pro každý web:
Nejprve vytvořte soubor index.html pro web web1.webdock.io:
nano /var/www/html/web1.webdock.io/index.htmlPřidejte následující označení html, které se zobrazí, když se připojíte k webu:
web1.webdock.ioVítejte na webu web1.webdock.io s webovým serverem Nginx.
Uložte a zavřete soubor.
Dále vytvořte soubor index.html pro web web2.webdock.io:
nano /var/www/html/web2.webdock.io/index.htmlPřidejte následující označení html, které se zobrazí, když se připojíte k webu:
web2.webdock.ioVítejte na webu web2.webdock.io s webovým serverem Nginx.
Uložte a zavřete soubor. Poté změňte vlastnictví obou adresářů webových stránek na www-data:
chown -R www-data:www-data /var/www/html/web1.webdock.iochown -R www-data:www-data /var/www/html/web2.webdock.ioDále budete muset vytvořit konfigurační soubor virtuálního hostitele pro každý web, který bude indikovat, jak bude webový server Nginx reagovat na různé požadavky domény.
Nejprve vytvořte konfigurační soubor virtuálního hostitele pro web web1.webdock.io:
nano /etc/nginx/sites-available/web1.webdock.io.confPřidejte následující řádky:
server {poslouchat 80;poslechnout [::]:80;root /var/www/html/web1.webdock.io;index index.html index.htm;název_serveru web1.webdock.io; umístění / { try_files $uri $uri/ =404; }}Uložte a zavřete soubor. Poté vytvořte konfigurační soubor virtuálního hostitele pro web web2.webdock.io:
nano /etc/nginx/sites-available/web2.webdock.io.confPřidejte následující řádky:
server {poslouchat 80;poslechnout [::]:80;root /var/www/html/web2.webdock.io;index index.html index.htm;název_serveru web2.webdock.io; umístění / { try_files $uri $uri/ =404; }}Uložte a zavřete soubor. Poté povolte každého virtuálního hostitele pomocí následujícího příkazu:
ln -s /etc/nginx/sites-available/web1.webdock.io.conf /etc/nginx/sites-enabled/ln -s /etc/nginx/sites-available/web2.webdock.io.conf /etc/ nginx/sites-enabled/Dále zkontrolujte Nginx, zda neobsahuje nějakou chybu syntaxe pomocí následujícího příkazu:
nginx -tPokud vše půjde dobře, měli byste získat následující výstup:
nginx: syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx: konfigurační soubor /etc/nginx/nginx.conf test byl úspěšnýNakonec restartujte službu Nginx, abyste použili změny konfigurace:
systemctl restart nginxNyní otevřete webový prohlížeč a zadejte URL http://web1.webdock.io a http://web2.webdock.io. Měli byste vidět oba weby s obsahem, který jsme vytvořili dříve:
web1.webdock.io
web2.webdock.io
PHP-FPM také známý jako "PHP-FastCGI Process Manager" je obslužný program FastCGI pro PHP skripty a aplikace. Umožňuje webové stránce zvládat vysoké zatížení. PHP-FPM je rychlejší než tradiční metody založené na CGI pro víceuživatelská prostředí PHP. PHP-FPM umožňuje hostovat více aplikací, které používají různé verze PHP.
Pravděpodobně budete chtít povolit podporu PHP, protože jinak nebudou věci jako Wordpress fungovat. Protože vaším výchozím bodem byl zásobník Webdock LEMP, pak je vše správně nainstalováno a nakonfigurováno pro verzi PHP ve vašem zásobníku. V tomto příkladu používáme php 7.3 - nahraďte číslo verze tím, co je vhodné pro zásobník, se kterým jste začínali.
Chcete-li povolit podporu PHP-FPM na webu web1.webdock.io, otevřete stávající výchozí konfiguraci webdocku pro váš server na adrese /etc/nginx/sites-enabled/webdock:
nano /etc/nginx/sites-enabled/webdockZkopírujte následující řádky – dejte pozor, aby číslo verze php-fpm níže odpovídalo vašemu serveru::
umístění ~ \.php$ {fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;fastcgi_index index.php;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_intercept_errors off;fastcgi_buffer_size 16k;fastcgi_buffers 4 16k;fastcgi_connect_timeout 600;fastcgi_send_timeout open 600;fastVložte všechny řádky, které jste zkopírovali z konfiguračního souboru webdocku, jak je znázorněno níže – přičemž dbejte na to, aby číslo verze php-fpm níže bylo správné pro váš server:
server {listen 80;root /var/www/html/web1.webdock.io;index index.html index.htm index.php;název_serveru web1.webdock.io;umístění ~ \.php$ {fastcgi_split_path_info ^(.+\ .php)(/.+)$;fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;fastcgi_index index.php;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastscfastcgi1_script_name; _vyrovnávací paměti 4 16k;fastcgi_connect_timeout 600;fastcgi_send_timeout 600;fastcgi_read_timeout 600;} umístění / { try_files $uri $uri/ =404; }}Uložte a zavřete soubor. Poté restartujte Nginx a správnou službu PHP-FPM, abyste použili změny konfigurace:
systemctl restart nginxsystemctl restart php7.3-fpmZopakujte stejný proces pro web web2.webdock.io
Blahopřejeme! nyní jste úspěšně nastavili svůj web pro hostování dvou webů na jednom Ubuntu VPS. Doufáme, že nyní máte dostatek znalostí pro hostování neomezeného počtu webových stránek na vašem vlastním serveru. Pro více informací o virtuálním hostingu na Nginx, můžete navštívit Nginx Virtual Hosting.
Možná také budete chtít zabezpečit své nové webové stránky pomocí certifikátů Let's Encrypt SSL. Standardní ovládací panel Webdocku zvládne pouze jeden web / webroot, takže pokud chcete zabezpečit všechny své weby na stejném serveru, musíte to udělat také ručně. Kliknutím sem se dozvíte, jak vydávat certifikáty SSL pro všechny vaše webové stránky.
PREV: Jaký je/byl váš oblíbený souboj se šéfem soukromého serveru?
NEXT: ID události: 3003 (došlo k chybě ověření) [strana klienta...