Apache a Nginx jsou bezplatné, open-source a nejrozšířenější webové servery na světě. Apache je server číslo jedna, zatímco Nginx je na druhém místě. Apache je známý svou silou a backendovou kompatibilitou, zatímco Nginx je známý svou rychlostí. Nginx poskytuje bohatou sadu funkcí včetně vyvažování zátěže, zabezpečení a zrychlení. Použití Nginx jako reverzního proxy vám umožňuje používat tyto funkce pro jakoukoli webovou aplikaci.
Konfigurace reverzního proxy vám pomůže skrýt identitu vašich backendových serverů a chránit vaše servery před útoky. Reverzní proxy také provádí vyvažování zátěže a distribuuje požadavky klientů mezi servery typu backend. To může velmi pomoci, když se některé servery přetíží kvůli náhlému nárůstu požadavků klientů.
Použití Nginx jako reverzní proxy pro Apache umožní oběma serverům spolupracovat a umožní vám využít výhod obou serverů. Prostřednictvím reverzního proxy můžete snadno sledovat, jaký provoz jde dovnitř a ven.
V tomto tutoriálu se naučíme, jak nainstalovat a nakonfigurovat Nginx jako reverzní proxy pro Apache na Ubuntu 18.04 VPS. Nakonfigurujeme Apache tak, aby běžel na portu 8080, nakonfigurujeme Nginx tak, aby běžel na portu 80, a předáme požadavky klientů přicházející na port 80 na webový server Apache.
Předpoklady
- Nový server VPS Ubuntu 18.04 v cloudu Atlantic.net.
- Na vaši IP adresu VPS odkazuje platný název domény. V tomto tutoriálu použijeme example.com
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte na svůj server Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Krok 2 – Instalace a konfigurace Apache
Nejprve budete muset nainstalovat webový server Apache na váš VPS. Apache můžete nainstalovat spuštěním následujícího příkazu:
apt-get install apache2 -y
Po instalaci spusťte webovou službu Apache a povolte její spuštění po restartu systému pomocí následujícího příkazu:
systemctl start apache2 systemctl enable apache2
nano /etc/apache2/ports.conf
Najděte následující řádek:
Listen 80
Nahraďte jej následujícím:
Listen 127.0.0.1:8080
Uložte a zavřete soubor. Poté otevřete soubor výchozího virtuálního hostitele Apache pomocí následujícího příkazu:
nano /etc/apache2/sites-available/000-default.conf
Najděte následující řádek:
<VirtualHost *:80>
Nahraďte jej následujícím:
<VirtualHost 127.0.0.1:8080>
Po dokončení uložte a zavřete soubor. Poté restartujte webovou službu Apache, abyste použili všechny změny konfigurace:
systemctl restart apache2
Nyní můžete ověřit, že webový server Apache naslouchá na portu 8080 pomocí následujícího příkazu:
netstat -ant | grep 8080
Měli byste vidět následující výstup:
tcp 0 127.0.0.1:8080 0.0.0.0:* LISTEN
Krok 3 – Instalace a konfigurace Nginx
Dále budete muset nainstalovat Nginx a nakonfigurovat jej jako reverzní proxy pro předávání požadavků přicházejících na portu 80 na webový server Apache, který naslouchá na portu 8080.
Webový server Nginx můžete nainstalovat spuštěním následujícího příkazu:
apt-get install nginx -y
Po instalaci spusťte službu Nginx a povolte její spuštění po restartu systému:
systemctl start nginx systemctl enable nginx
Dále nastavte reverzní proxy Nginx vytvořením nového souboru virtuálního hostitele:
nano /etc/nginx/sites-available/example.com
Přidejte následující řádky:
server { listen 80; root /var/www/html/; index index.html index.htm; server_name example; location \ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } }
Uložte a zavřete soubor. Poté povolte konfigurační soubor virtuálního hostitele pomocí následujícího příkazu:
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Dále ověřte Nginx, zda neobsahuje nějakou chybu syntaxe, pomocí následujícího příkazu:
nginx -t
Pokud je vše v pořádku, měli byste získat následující výstup:
nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je v pořádku
nginx:konfigurační soubor /etc/nginx/nginx.conf test je úspěšný
Nakonec restartujte službu Nginx, abyste použili tyto změny konfigurace:
systemctl restartujte nginx
Krok 4 – Otestujte Nginx Reverse Proxy
Nginx a Apache jsou správně nainstalovány a nakonfigurovány. Nyní můžete otestovat funkčnost reverzního proxy serveru Nginx.
Chcete-li to provést, otevřete webový prohlížeč a zadejte adresu URL http://example.com. Budete přesměrováni na výchozí stránku Apache, jak je znázorněno na následující obrazovce:
Závěr
Gratulujeme! Úspěšně jste nainstalovali a nakonfigurovali Nginx jako reverzní proxy pro webový server Apache. Můžete také nakonfigurovat Nginx jako reverzní proxy pro další aplikace, jako je Tomcat, Wildfly, Node.Js a Glassfish.
Pokud jste připraveni začít s virtuálním soukromým serverem pro hostování vašich webových stránek, navštivte stránku VPS Hosting společnosti Atlantic.Net, kde najdete hostingový balíček, který je pro vás ten pravý.