Nginx och Apache är innovativa open source-webbserver som används med PHP. För närvarande är Apache den största servern på de flesta webbplatser sedan den släpptes för ett decennium sedan medan Nginx kommer på andra plats som den mest föredragna servern för aktiva webbplatser. Varje server har sin andel av popularitet av uppenbara skäl: Apaches kraft och Nginx hastighet är allmänt känd. Men båda servrarna har vissa brister. Apache betraktas som hårt i serverminnet medan Nginx (vilket är bra för statiska filer) kräver hjälp av PHP-FPM eller liknande moduler för dynamiskt innehåll.


I den här artikeln hjälper vi dig att kombinera de två servrarna för att utnyttja deras styrka och eliminera bristerna. Vi kommer att använda Nginx som statisk processor och Apache som processor för dynamiskt, backend-innehåll.

förutsättningar

För att komma igång med stegen i den här artikeln måste du ha följande:

  • En dedikerad server som kör Ubuntu 16.04
  • Ett vanligt användarkonto med sudo-privilegier på din server
  • En statisk IP-adress för den här servern

Komma igång

Det första när du installerar Nginx är att se till att din server är uppdaterad. T uppdatera din server kör kommandona nedan:

$ sudo apt-get-uppdatering
$ sudo apt-get upgrade

Steg 1: Installera Nginx

Börja med att installera nginx. Kör kommandot nedan för att göra det:

$ sudo apt-get install nginx

När det är installerat fortsätter du med att konfigurera och konfigurera Nginx som en omvänd proxy så att den kan köras i frontend.

Steg 2: Konfigurera Nginx

När Nginx har installerats kan du starta konfigurationsprocessen genom att skapa en ny virtuell värdfil med kommandot:

$ sudo nano / etc / nginx / webbplatser-tillgängliga / webbproxy

Lägg till konfigurationen nedan i din fil:

server {
lyssna 80;

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

servernamn exempel.com;

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

plats ~ \ .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;

}

plats ~ /\.ht {
förneka allt;
}
}

I denna konfiguration tillämpades dessa ändringar:

  • De rot justerades för att ange rotkatalogen.
  • De try_files försök att ta hand om vilken sida som besökaren begär. Om Nginx inte kan uppfylla denna begäran skickas den till din proxy.
  • De proxy_pass låter nginx definiera den specifika adressen för din proxierade server.
  • De plats block begränsar åtkomsten till .htaccess-filen.

Kör kommandot nedan för att verifiera Nginx-konfigurationssyntax:

$ sudo nginx -t

Om allt är okej bör du få följande utgång:

nginx: konfigurationsfilen /etc/nginx/nginx.conf-syntax är ok
nginx: konfigurationsfilen /etc/nginx/nginx.conf-testet är framgångsrikt

Kör sedan kommandot nedan för att aktivera din virtuella värd:

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

Radera sedan standardblocket för Nginx-tjänstserver genom att köra kommandot:

$ sudo rm / etc / nginx / sites-enabled / default

Starta din Nginx-tjänst med kommandot nedan:

$ sudo /etc/init.d/nginx start

Om du vill konfigurera Nginx att starta vid starttid, kör kommandot nedan:

Standardvärdet för $ sudo update-rc.d nginx

Steg 3: Installera Apache

När Nginx är aktiverat kan du nu installera Apache för att hantera proxyer.

För att installera Apache kör du kommandot nedan:

$ sudo apt-get install apache2

Fram till nu är Nginx fortfarande avstängd, så Apache kommer att fungera på port 80.

Steg 4: Konfigurera Apache

Vi riktade Nginx att rikta proxy till port 8080, där Apache lyssnar på att ta emot förfrågningar. Nu ska vi be Apache att använda port 8080 och lämna port 80 för Nginx. Gå nu vidare och öppna Apache-portarna för att ställa in dem på rätt port på Apache.

Kör kommandot nedan för att öppna din Apache Ports-fil:

$ sudo nano /etc/apache2/ports.conf

Sök och redigera raderna nedan för att se till att Apache körs på den föredragna porten 8080 från localhost:

NameVirtualHost 127.0.0.1:8080
Lyssna 127.0.0.1:8080

Spara filen och avsluta. Starta om din Apache-tjänst nu:

$ sudo /etc/init.d/apache2 omstart

Du kan konfigurera Apache så att den startar vid starttid med kommandot nedan:

Standardvärdet för $ sudo update-rc.d apache2

Därefter redigerar du standard virtualhost-fil:

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

Se till att konfigurationen är som den nedan:

ServerAdmin webbansvarig @ localhost
DocumentRoot / var / www /
ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log kombinerat

Spara innehållet och avsluta och starta sedan om Nginx- och Apache-tjänsterna med kommandot nedan:

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

Steg 5: Installera PHP5

Innan du testar något, se till att du installerar PHP med kommandot nedan:

$ sudo apt-get install php5

Spara och avsluta och starta sedan om Nginx- och Apache-tjänsterna för att tillämpa dessa ändringar:

$ sudo-tjänst apache2 omstart
$ sudo service nginx omstart

Steg 6: Testa Nginx Reverse Proxy

När du konfigurerar allt korrekt kan du testa funktionaliteten för Nginx reverse proxy. För att göra detta, kör curl-kommandot som visas nedan:

$ curl -Jag lokal

Du bör se texten nedan:

HTTP / 1.1 200 OK
Server: nginx / 1.6.2 (ubuntu)
Datum: Ons 28 juli 2016 08:34:02 IST
Innehållstyp: text / html
Innehållslängd: 11321
Senast uppdaterad: di 31 juni 2016 10:25:08 IST
Anslutning: fortsätt
Varierande: Acceptera-kodning
ETag: "564f1a7a-2c39"
Utgår: ons 28 juli 2016 08:34:31 IST
Cache-Control: no-cache
Acceptera intervall: byte

Avveckling

Nu är allt konfigurerat, men vi kommer att testa om systeminformationen riktas till apache genom att köra ett snabbt PHP-skript.

Skapa din php.info-fil med kommandot nedan:

$ sudo nano /var/www/info.php

Inkludera dessa rader i din fil:

<?
phpinfo ();
?>

Spara nu din fil och avsluta. Öppna sedan din webbläsare och skriv adressen nedan (ersätt “Domän- eller IP-adress” med ditt rätta domännamn.

http: //DOMAIN_OR_IP_ADDRESS/info.php

Den här sidan dyker upp:

Slutsats

Nu bör du ha NGINX som en omvänd proxy för Apache på Ubuntu 16.04. Framgångsrik konfiguration av nginx och Apache kan vara ett bra boost för din server.

Om du vill förbättra dina servers prestanda rekommenderar vi att du också överväger att byta till en ny, mer avancerad webbhotell. På HostAdvice hittar du de bästa webbhotelltjänsterna, tillsammans med användarrecensioner och planpriser.

Kolla in de tre bästa Bästa webbhotelltjänsterna

FastComet

Startpris:
$ 2.95


Pålitlighet
9,7


Prissättning
9,5


Användarvänlig
9,7


Stöd
9,7


Funktioner
9,6

Läs recensioner

Besök FastComet

A2 Hosting

Startpris:
$ 3,92


Pålitlighet
9,3


Prissättning
9,0


Användarvänlig
9,3


Stöd
9,3


Funktioner
9,3

Läs recensioner

Besök A2 Hosting

ChemiCloud

Startpris:
$ 2.76


Pålitlighet
10


Prissättning
9,9


Användarvänlig
9,9


Stöd
10


Funktioner
9,9

Läs recensioner

Besök ChemiCloud

Relaterade artiklar om hur man gör

  • Del 1: Hur man övervakar Nginx med Elastic Stack på en CentOS 7 VPS eller en dedikerad server
    expert-
  • Hur man konfigurerar Nginx och Apache tillsammans på samma Ubuntu VPS eller dedikerade server
    mellanliggande
  • Del två: Hur man övervakar Nginx med Elastic Stack på en CentOS 7 VPS eller dedikerad server
    expert-
  • Hur man installerar Apache Cassandra på en Ubuntu 18.04 VPS eller dedikerad server
    mellanliggande
  • Hur du är värd för flera webbplatser på en Ubuntu 18.04 VPS eller dedikerad server
    mellanliggande
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me