Nginx en Apache zijn innovatieve open source webservers die worden gebruikt met PHP. Momenteel is Apache de nummer één server van de meeste websites sinds het tien jaar geleden werd uitgebracht, terwijl Nginx op de tweede plaats komt als de meest geprefereerde server voor actieve sites. Elke server behoudt zijn aandeel in populariteit om voor de hand liggende redenen: de kracht van Apache en de snelheid van Nginx zijn algemeen bekend. Beide servers hebben echter enkele tekortkomingen. Apache wordt als hard in het geheugen van de server beschouwd, terwijl Nginx (wat geweldig is voor statische bestanden) de hulp van PHP-FPM of dergelijke modules vereist voor dynamische inhoud.


In dit artikel helpen we u de twee servers te combineren om hun sterke punten te benutten en de tekortkomingen te elimineren. We gebruiken Nginx als de statische processor en Apache als de processor voor dynamische backend-inhoud.

Vereisten

Om aan de slag te gaan met de stappen in dit artikel, hebt u het volgende nodig:

  • Een speciale server met Ubuntu 16.04
  • Een standaard gebruikersaccount met sudo-rechten op uw server
  • Een statisch IP-adres voor deze server

Ermee beginnen

Het eerste dat u bij het installeren van Nginx moet doen, is ervoor zorgen dat uw server up-to-date is. Voer de onderstaande opdrachten uit om uw server bij te werken:

$ sudo apt-get update
$ sudo apt-get upgrade

Stap 1: Nginx installeren

Begin met het installeren van nginx. Voer hiervoor de onderstaande opdracht uit:

$ sudo apt-get installeer nginx

Zodra het is geïnstalleerd, gaat u verder met het instellen en configureren van Nginx als een reverse proxy, zodat het aan de voorkant kan draaien.

Stap 2: Nginx configureren

Zodra Nginx is geïnstalleerd, kunt u het configuratieproces starten door een nieuw virtueel hostbestand te maken met behulp van de opdracht:

$ sudo nano / etc / nginx / sites-available / webproxy

Voeg de onderstaande configuratie toe aan uw bestand:

server {
luister 80;

root / var / www /;
index index.php index.html index.htm;

servernaam example.com;

plaats / {
try_files $ uri $ uri / /index.php;
}

locatie ~ \ .php $ {

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;

}

locatie ~ /\.ht {
alles ontkennen;
}
}

In deze configuratie zijn deze wijzigingen toegepast:

  • De wortel is aangepast om de hoofdmap te specificeren.
  • De try_files probeer een pagina bij te wonen die door een bezoeker is opgevraagd. Als Nginx niet aan dit verzoek kan voldoen, wordt het doorgegeven aan uw proxy.
  • De proxy_pass stelt nginx in staat om het specifieke adres van uw proxy-server te definiëren.
  • De plaats blok beperkt de toegang tot het .htaccess-bestand.

Voer de onderstaande opdracht uit om de Nginx-configuratiesyntaxis te verifiëren:

$ sudo nginx -t

Als alles in orde is, zou je de volgende output moeten krijgen:

nginx: het configuratiebestand /etc/nginx/nginx.conf syntaxis is ok
nginx: configuratiebestand /etc/nginx/nginx.conf-test is geslaagd

Voer vervolgens de onderstaande opdracht uit om uw virtuele host te activeren:

$ sudo ln -s / etc / nginx / sites-available / proxyhost / etc / nginx / sites-enabled / webproxy

Wis vervolgens het standaard Nginx-serviceserverblok door de opdracht uit te voeren:

$ sudo rm / etc / nginx / sites ingeschakeld / standaard

Start uw Nginx-service met de onderstaande opdracht:

$ sudo /etc/init.d/nginx start

Als u Nginx wilt configureren om tijdens het opstarten te starten, voert u de onderstaande opdracht uit:

$ sudo update-rc.d nginx standaardinstellingen

Stap 3: Apache installeren

Met Nginx geactiveerd, kunt u nu Apache installeren om proxyverzoeken af ​​te handelen.

Voer de onderstaande opdracht uit om Apache te installeren:

$ sudo apt-get installeer apache2

Tot nu toe is Nginx nog steeds uitgeschakeld, dus Apache werkt op poort 80.

Stap 4: Apache configureren

We hebben Nginx opdracht gegeven om de proxy naar poort 8080 te leiden, waar Apache luistert om verzoeken te ontvangen. Nu moeten we Apache opdracht geven om poort 8080 te gebruiken en poort 80 over te laten voor Nginx. Ga nu door en open de Apache-poorten om ze op de juiste poort op Apache in te stellen.

Voer de onderstaande opdracht uit om uw Apache Ports-bestand te openen:

$ sudo nano /etc/apache2/ports.conf

Zoek en bewerk de onderstaande regels om ervoor te zorgen dat Apache wordt uitgevoerd op de gewenste poort 8080 vanaf de lokale host:

NameVirtualHost 127.0.0.1:8080
Luister 127.0.0.1:8080

Sla het bestand op en sluit af. Start nu uw Apache-service opnieuw:

$ sudo /etc/init.d/apache2 herstart

U kunt Apache configureren om tijdens het opstarten te starten met de onderstaande opdracht:

$ sudo update-rc.d apache2 standaardinstellingen

Bewerk vervolgens het standaard virtualhost-bestand:

$ Sudo /etc/apache2/sites-enabled/000-default.conf

Zorg ervoor dat de configuratie is zoals hieronder:

ServerAdmin-webmaster @ localhost
DocumentRoot / var / www /
ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log gecombineerd

Sla de inhoud op en sluit af en start vervolgens zowel Nginx- als Apache-services opnieuw op met de onderstaande opdracht:

$ sudo /etc/init.d/apache2 herstart
$ sudo /etc/init.d/nginx herstart

Stap 5: PHP5 installeren

Voordat u iets gaat testen, moet u PHP installeren met de onderstaande opdracht:

$ sudo apt-get install php5

Sla op en sluit af en start vervolgens zowel de Nginx- als Apache-services opnieuw op om deze wijzigingen toe te passen:

$ sudo service apache2 herstart
$ sudo service nginx herstart

Stap 6: De Nginx Reverse Proxy testen

Als je alles goed hebt geconfigureerd, kun je de functionaliteit van Nginx reverse proxy testen. Voer hiervoor de opdracht curl uit zoals hieronder wordt weergegeven:

$ curl -I localhost

Je zou de onderstaande tekst moeten zien:

HTTP / 1.1 200 OK
Server: nginx / 1.6.2 (ubuntu)
Datum: wo 28 juli 2016 08:34:02 IST
Inhoudstype: tekst / html
Inhoud lengte: 11321
Laatst gewijzigd: di, 31 juni 2016 10:25:08 IST
Verbinding: levend houden
Variëren: accept-codering
ETag: "564f1a7a-2c39"
Verloopt: Wo 28 juli 2016 08:34:31 IST
Cache-Control: geen cache
Accept-Ranges: bytes

Afwikkeling

Nu is alles ingesteld, maar we gaan testen of de systeeminformatie naar apache wordt geleid door een snel PHP-script uit te voeren.

Maak uw php.info-bestand met behulp van de onderstaande opdracht:

$ sudo nano /var/www/info.php

Voeg deze regels toe aan uw bestand:

<?
phpinfo ();
?>

Sla nu uw bestand op en sluit af. Open vervolgens uw browser en typ het onderstaande adres (vervang het “Domein of IP-adres” door uw juiste domeinnaam.

http: //DOMAIN_OR_IP_ADDRESS/info.php

Deze pagina zal verschijnen:

Conclusie

Inmiddels zou je NGINX moeten hebben als een reverse proxy voor Apache op Ubuntu 16.04. Succesvolle configuratie van nginx en Apache kan een geweldige boost zijn voor je server.

Als u de prestaties van uw servers wilt verbeteren, raden we u aan ook te kijken of u kunt overstappen op een nieuwe, geavanceerdere hostingservice. Op HostAdvice vindt u de beste webhostingservices, naast gebruikersrecensies en planprijzen.

Bekijk deze top 3 beste webhostingservices

FastComet

Beginprijs:
$ 2,95


Betrouwbaarheid
9.7


Prijzen
9.5


Gebruikersvriendelijk
9.7


Ondersteuning
9.7


Kenmerken
9.6

Lees recensies

Bezoek FastComet

A2-hosting

Beginprijs:
$ 3,92


Betrouwbaarheid
9.3


Prijzen
9.0


Gebruikersvriendelijk
9.3


Ondersteuning
9.3


Kenmerken
9.3

Lees recensies

Bezoek A2 Hosting

ChemiCloud

Beginprijs:
$ 2,76


Betrouwbaarheid
10


Prijzen
9,9


Gebruikersvriendelijk
9,9


Ondersteuning
10


Kenmerken
9,9

Lees recensies

Bezoek ChemiCloud

Gerelateerde How-To-artikelen

  • Deel één: Nginx monitoren met Elastic Stack op een CentOS 7 VPS of dedicated server
    deskundige
  • Nginx en Apache samen configureren op dezelfde Ubuntu VPS of Dedicated Server
    gemiddeld
  • Deel twee: Nginx monitoren met Elastic Stack op een CentOS 7 VPS of Dedicated Server
    deskundige
  • Hoe Apache Cassandra te installeren op een Ubuntu 18.04 VPS of Dedicated Server
    gemiddeld
  • Meerdere websites hosten op een Ubuntu 18.04 VPS of speciale server
    gemiddeld
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me