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.