Nginx og Apache er innovative open source webservere som brukes med PHP. For tiden er Apache den største serveren på de fleste nettsteder siden den ble utgitt for et tiår siden, mens Nginx kommer på andreplass som den mest foretrukne serveren for aktive nettsteder. Hver server har sin del av popularitet av åpenbare grunner: Apaches kraft og Nginxs hastighet er mye kjent. Imidlertid har begge serverne noen mangler. Apache anses som hardt på serverminnet, mens Nginx (som passer bra for statiske filer) krever hjelp av PHP-FPM eller lignende moduler for dynamisk innhold.


I denne artikkelen vil vi hjelpe deg med å kombinere de to serverne for å utnytte deres styrke og eliminere manglene. Vi bruker Nginx som den statiske prosessoren og Apache som prosessoren for dynamisk, backend-innhold.

Forutsetninger

For å komme i gang med trinnene i denne artikkelen, må du ha følgende:

  • En dedikert server som kjører Ubuntu 16.04
  • En standard brukerkonto med sudo-rettigheter på serveren din
  • En statisk IP-adresse for denne serveren

Starter

Det første når du installerer Nginx, er å sikre at serveren din er oppdatert. T oppdater serveren din og kjør kommandoene nedenfor:

$ sudo apt-get-oppdatering
$ sudo apt-get upgrade

Trinn 1: Installere Nginx

Start med å installere nginx. For å gjøre det, kjør kommandoen nedenfor:

$ sudo apt-get install nginx

Når den er installert, fortsett med å konfigurere og konfigurere Nginx som en omvendt proxy slik at den kan kjøres i frontenden.

Trinn 2: Konfigurere Nginx

Når Nginx er installert, kan du starte konfigurasjonsprosessen ved å opprette en ny virtuell vertsfil ved å bruke kommandoen:

$ sudo nano / etc / nginx / nettsteder tilgjengelig / webproxy

Legg til konfigurasjonen nedenfor til filen din:

server {
hør 80;

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

servernavn eksempel.com;

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

beliggenhet ~ \ .php $ {

proxy_set_header X-Real-IP $ remote_addr;
proxy_set_header X-Forwarded-For $ remote_addr;
proxy_set_header Vert $ vert;
proxy_pass http://127.0.0.1:8080;

}

beliggenhet ~ /\.ht {
nekte alle;
}
}

I denne konfigurasjonen ble disse endringene brukt:

  • De rot ble justert for å spesifisere rotkatalogen.
  • De try_files forsøk å ivareta hvilken som helst side som en besøkende etterspør. Hvis Nginx ikke kan oppfylle denne forespørselen, sendes den til fullmakten din.
  • De proxy_pass lar nginx definere den spesifikke adressen til den proxy-serveren din.
  • De plassering blokkere begrenser tilgangen til .htaccess-filen.

Kjør kommandoen nedenfor for å bekrefte Nginx-konfigurasjonssyntaks:

$ sudo nginx -t

Hvis alt er i orden, bør du få følgende utdata:

nginx: konfigurasjonsfilen /etc/nginx/nginx.conf-syntaks er ok
nginx: konfigurasjonsfilen /etc/nginx/nginx.conf-testen er vellykket

Kjør deretter kommandoen nedenfor for å aktivere din virtuelle vert:

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

Slett deretter standard Nginx-tjenerserverblokk ved å kjøre kommandoen:

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

Start Nginx-tjenesten ved å bruke kommandoen nedenfor:

$ sudo /etc/init.d/nginx start

Hvis du vil konfigurere Nginx til å starte ved starttid, kjører du kommandoen nedenfor:

Standard standard for $ sudo update-rc.d nginx

Trinn 3: Installere Apache

Når Nginx er aktivert, kan du nå installere Apache for å håndtere proxy-forespørsler.

Kjør kommandoen nedenfor for å installere Apache:

$ sudo apt-get install apache2

Inntil nå er Nginx fortsatt slått av, så Apache vil operere på port 80.

Trinn 4: Konfigurere Apache

Vi instruerte Nginx om å rette proxy til port 8080, der Apache lytter til å motta forespørsler. Nå bør vi henvise Apache til å bruke port 8080 og forlate port 80 for Nginx. Gå videre og åpne Apache-portene for å sette dem på riktig port på Apache.

Kjør kommandoen nedenfor for å åpne Apache Ports-filen:

$ sudo nano /etc/apache2/ports.conf

Søk og rediger linjene nedenfor for å sikre at Apache kjører på den foretrukne porten 8080 fra localhost:

NameVirtualHost 127.0.0.1:8080
Hør 127.0.0.1:8080

Lagre filen og avslutt. Start Apache-tjenesten din på nytt:

$ sudo /etc/init.d/apache2 omstart

Du kan konfigurere Apache til å starte ved starttid ved å bruke kommandoen nedenfor:

Standard standard for $ sudo update-rc.d apache2

Deretter rediger du standard virtualhost-fil:

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

Forsikre deg om at konfigurasjonen er som den nedenfor:

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

Lagre innholdet og avslutt, og start deretter både Nginx- og Apache-tjenester på nytt ved å bruke kommandoen nedenfor:

$ sudo /etc/init.d/apache2 omstart
$ sudo /etc/init.d/nginx start på nytt

Trinn 5: Installere PHP5

Før du tester noe, må du sørge for å installere PHP med kommandoen nedenfor:

$ sudo apt-get install php5

Lagre og avslutt, og start deretter både Nginx- og Apache-tjenestene på nytt for å bruke disse endringene:

$ sudo service apache2 start på nytt
$ sudo service nginx start på nytt

Trinn 6: Test av Nginx Reverse Proxy

Når du konfigurerer alt riktig, kan du teste funksjonaliteten til Nginx reverse proxy. For å gjøre dette, kjør curl-kommandoen som vist nedenfor:

$ krøll -Jeg lokalhost

Du skal se teksten nedenfor:

HTTP / 1.1 200 OK
Server: nginx / 1.6.2 (ubuntu)
Dato: Onsdag 28. juli 2016 08:34:02 IST
Innholdstype: tekst / html
Innholdslengde: 11321
Sist endret: Tirsdag, 31. juni 2016 10:25:08 IST
Tilkobling: hold i live
Varierende: Godta-koding
ETag: "564f1a7a-2c39"
Utløper: Onsdag 28. juli 2016 08:34:31 IST
Cache-Control: ingen cache
Aksepter-områder: byte

Ende opp

Nå er alt satt opp, men vi skal teste om systeminformasjonen blir ledet til apache ved å kjøre et raskt PHP-skript.

Lag php.info-filen ved å bruke kommandoen nedenfor:

$ sudo nano /var/www/info.php

Inkluder disse linjene i filen din:

<?
phpinfo ();
?>

Lagre filen og avslutt. Deretter åpner du nettleseren din og skriver inn adressen nedenfor (erstatt “Domene eller IP-adressen” med riktig domenenavn.

http: //DOMAIN_OR_IP_ADDRESS/info.php

Denne siden dukker opp:

Konklusjon

Nå bør du ha NGINX som en omvendt proxy for Apache på Ubuntu 16.04. Vellykket konfigurasjon av nginx og Apache kan være et flott løft for serveren din.

Hvis du ønsker å forbedre serverenes ytelse, anbefaler vi at du også ser på å bytte til en ny, mer avansert hosting-tjeneste. På HostAdvice finner du de beste webhotellene sammen med brukeranmeldelser og planpriser.

Sjekk ut disse topp 3 beste webhotelltjenestene

FastComet

Startpris:
$ 2.95


Pålitelighet
9.7


Priser
9.5


Brukervennlig
9.7


Brukerstøtte
9.7


Funksjoner
9.6

Les anmeldelser

Besøk FastComet

A2 Hosting

Startpris:
$ 3.92


Pålitelighet
9.3


Priser
9.0


Brukervennlig
9.3


Brukerstøtte
9.3


Funksjoner
9.3

Les anmeldelser

Besøk A2 Hosting

ChemiCloud

Startpris:
$ 2.76


Pålitelighet
10


Priser
9.9


Brukervennlig
9.9


Brukerstøtte
10


Funksjoner
9.9

Les anmeldelser

Besøk ChemiCloud

Relaterte artikler for hvordan du gjør det

  • Del en: Hvordan overvåke Nginx ved å bruke Elastic Stack på en CentOS 7 VPS eller dedikert server
    Ekspert
  • Slik konfigurerer du Nginx og Apache på samme Ubuntu VPS eller dedikerte server
    mellomliggende
  • Del to: Hvordan overvåke Nginx ved å bruke Elastic Stack på en CentOS 7 VPS eller dedikert server
    Ekspert
  • Hvordan installere Apache Cassandra på en Ubuntu 18.04 VPS eller dedikert server
    mellomliggende
  • Hvordan være vert for flere nettsteder på en Ubuntu 18.04 VPS eller dedikert server
    mellomliggende
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me