Stel Nginx in als Reverse Proxy voor Apache2 op Ubuntu 17.04 | 17.10

  • Giles Benson
  • 0
  • 1625
  • 435

Apache2 is de meest populaire webserver die tegenwoordig wordt gebruikt. Nginx is nummer (# 2), maar Nginx kan ook dienen als een reverse proxy. Deze korte tutorial laat studenten en nieuwe gebruikers zien hoe ze de Nginx-webserver kunnen configureren als een reverse proxy voor Apache2 op Ubuntu 17.04 | 17.10.

Beide servers hebben hun sterke en zwakke punten, maar wanneer ze correct worden gecombineerd en geconfigureerd, kunnen ze een betere ervaring voor uw publiek bieden.

In dit bericht zullen we zowel Nginx- als Apache2-servers installeren… en vervolgens Nginx configureren om te luisteren op poort 80 terwijl apache2 luistert op poort 8080. Ze kunnen allebei niet luisteren op dezelfde poort. Wanneer er webverkeer binnenkomt, accepteert Nginx en stuurt het door naar Apache2 aan de achterkant.

Als je klaar bent om Nginx als reverse proxy voor Apache2 te configureren, volg je de onderstaande stappen:

Stap 1: Installeer Nginx

Nginx installeren is eenvoudig ... om dat te doen, voert u de onderstaande opdrachten uit

sudo apt-get update sudo apt-get install nginx 

Na het installeren van Nginx kunnen de onderstaande commando's worden gebruikt om Nginx te stoppen, te starten en in te schakelen om altijd opnieuw op te starten wanneer de server opstart.

sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl schakel nginx.service in 

Stap 2: Configureer Nginx als Reverse Proxy

Maak eerst een hoofdmap voor uw domein (myproxy.com). Voor dit bericht gaan we het maken in de / var / www / html gebeld myproxy.

sudo mkdir -p / var / www / html / myproxy

Wijzig vervolgens de machtigingen voor de map om Nginx en Apache2 toegang te geven tot de inhoud.

sudo chown -R www-data: www-data / var / www / html sudo chmod -R 775 / var / www / html / 

Voer vervolgens de onderstaande opdrachten uit om een ​​proxybestand te maken voor de proxysite met de naam myproxy.

sudo nano / etc / nginx / sites-beschikbaar / myproxy

Voeg vervolgens het codeblok toe aan het bestand en sla het op.

server luister 80; luister [::]: 80; servernaam myproxy.com www.myproxy.com; proxy_redirect uit; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header Host $ http_host; locatie / proxy_pass http://127.0.0.1:8080;  

Sla het bestand op als u klaar bent. Dit is een basisconfiguratie van de Nginx-proxy. Geen geavanceerde instellingen toegevoegd.

Schakel vervolgens de Nginx-site in door de onderstaande opdrachten uit te voeren

sudo ln -s / etc / nginx / sites-available / myproxy / etc / nginx / sites-enabled /

Stap 3: Installeer Apache2

Voer na het configureren van Nginx de onderstaande opdrachten uit om Apache2 te installeren

sudo apt-get install apache2

Voer na het installeren van Apache2 de onderstaande opdrachten uit om de standaardpoort van Apache2 te wijzigen in poort 8080

sudo nano /etc/apache2/ports.conf

Verander vervolgens de regels zodat ze eruitzien als de onderstaande:

NameVirtualHost 127.0.0.1:8080 Luister 127.0.0.1:8080 

Sla het bestand op en ga hieronder verder

Stap 4: Configureer Apache2-site

Nu Apache2 is geïnstalleerd, voert u de onderstaande opdrachten uit om de apache2-site te maken.

sudo nano /etc/apache2/sites-available/myproxy.conf

Voeg vervolgens de onderstaande inhoud toe aan het bestand en sla op.

 ServerAdmin [email protected] DocumentRoot / var / www / html / myproxy / ServerName myproxy.com ServerAlias ​​www.myproxy.com ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log gecombineerd 

Sla het bestand op en sluit af.

Stap 5: Schakel Apache2-site in en start opnieuw

Schakel na het configureren van Apache2 de site in en start opnieuw. Voer de onderstaande opdrachten uit om de Apache2-site in te schakelen.

sudo a2ensite myproxy.conf

Start Apache2 vervolgens opnieuw door de onderstaande opdrachten uit te voeren

sudo systemctl herstart apache2.service

Verwijder het Apache2 standaard index.html-bestand.

sudo rm /var/www/html/index.html

Ga en test de instellingen door naar het domein van de site te bladeren. Nginx moet webverkeer doorsturen naar Apache2-inhoud.

Dat is het!




Niemand heeft nog op dit artikel gereageerd.

Een verzameling nuttige informatie over het Linux-besturingssysteem en nieuwe technologieën
Nieuwe artikelen, praktische tips, gedetailleerde recensies en handleidingen. Voel je thuis in de wereld van het Linux-besturingssysteem