Apache je nejoblíbenější webový server, který dokáže fungovat na velkém množství operačních systémů, včetně UNIX / Linux, Microsoft Windows a OpenVMS.
NGINX je vysoce výkonný webový server používaný zejména pro statické soubory a jako reverzní proxy, ale díky své univerzálnosti jej lze použít v jakékoli situaci.
V tomto tutoriálu zjistíme, jak využít silné stránky obou webových serverů tak, aby spolupracovaly v dokonalé harmonii. NGINX bude použit jako frontendový webový server, který bude zpracovávat požadavky klientů a odesílat je do Apache, což bude náš backend webový server a vrátí požadovanou odpověď. Tento postup umožňuje získat různé výhody od výkonu po bezpečnost.
Nejprve se připojte k serveru prostřednictvím připojení SSH. Pokud jste tak ještě neučinili, doporučujeme se podle našeho průvodce bezpečně připojit pomocí SSH. V případě lokálního serveru přejděte k dalšímu kroku a otevřete terminál svého serveru.
Instalace a konfigurace Apache
Aktualizujte repozitáře linuxové distribuce Ubuntu, abyste měli jistotu, že si stáhnete nejnovější verzi Apache:
$ sudo apt-get update Potom spusťte instalaci:
$ sudo apt install apache2 V tuto chvíli je instalace Apache dokončena a je možné pokračovat v jeho konfiguraci.
Změňte port používaný standardně Apache na 8080. Chcete-li to provést, otevřete konfigurační soubor, jak je znázorněno:
$ sudo nano /etc/apache2/ports.conf Najděte řádek Listen 80 a změňte jej na Listen 8080, poté soubor uložte a zavřete.
Restartujte službu Apache:
$ sudo systemctl restart apache2 Chcete-li zkontrolovat změnu portu Apache, navštivte http:// 
Instalace a konfigurace NGINX
Pokračujte zahájením instalace NGINX:
$ sudo apt-get install nginx Po dokončení instalace otevřete konfigurační soubor NGINX podle obrázku:
$ sudo nano /etc/nginx/nginx.conf Potom upravte nebo přidejte blok serveru, jak je znázorněno zde, abyste mohli používat NGINX jako proxy server Apache:
server {
listen 80;
                root /var/www/html;
index index.php index.html index.htm;
server_name SERVER_IP;
                location / {
proxy_pass http://localhost:8090;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
} Uložte a zavřete soubor.
Potom restartujte službu NGINX:
$ sudo systemctl restart nginx Konfigurace brány firewall
V případě brány firewall ve vašem systému ji nastavte tak, aby povolovala provoz HTTP a HTTPS pro váš počítač.
Při používání brány firewall UFW budete mít předinstalované profily pro NGINX. Pojďme se tedy podívat, jak je povolit.
Chcete-li zkontrolovat dostupné profily nainstalované v UFW firewallu, spusťte tento příkaz:
$ sudo ufw app list Na obrazovce se zobrazí seznam podobný tomuto:
Available applications:
  Dovecot IMAP
  Dovecot POP3
  Dovecot Secure IMAP
  Dovecot Secure POP3
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission Chcete-li povolit provoz HTTP (Port 80) a HTTPS (Port 443), použijte profil „Nginx Full“.
Informace o vašem profilu je možné zkontrolovat takto:
$ sudo ufw app info "Nginx Full" Popis profilu se zobrazí na obrazovce:
Profile: Nginx Full
Title: Web Server (Nginx, HTTP + HTTPS)
Description: Small, but very powerful and efficient web server
                Ports:
  80,443/tcp Po kontrole profilu bude možné jej povolit:
$ sudo ufw allow in "Nginx Full" Nakonec pokračujte v testování dvou webových serverů návštěvou adresy http:// 
Pokud byl postup správně proveden, vaše webové stránky se zobrazí s výchozí obrazovkou Apache. To znamená, že reverzní proxy funguje a byl správně nakonfigurován.
 