Hvordan installere Nginx Web Server på Ubuntu 20.04


Nginx er en åpen kildekode, høyytelses webserver som har en enorm markedsandel i produksjonsmiljøer. Det er en lett og robust nettserver som for det meste brukes til å være vert for nettsteder med høy trafikk.

Relatert lesing: Slik installerer du Apache Web Server på Ubuntu 20.04

I denne veiledningen lærer du hvordan du installerer Nginx-nettserveren og konfigurerer Nginx-serverblokken (virtuelle verter) på Ubuntu 20.04 LTS.

For å komme i gang, sørg for at du har en forekomst av Ubuntu 20.04 LTS med SSH-tilgang og en Sudo-bruker med root-privilegier. I tillegg anbefales en stabil internettforbindelse for å installere Nginx-pakker.

Installere Nginx på Ubuntu 20.04

1. Før du installerer Nginx, oppdater serverens pakkelister.

$ sudo apt update

2. Installer deretter Nginx ved å kjøre kommandoen:

$ sudo apt install nginx

Når du blir bedt om å fortsette, trykk Y på tastaturet og trykk ENTER. Installasjonen vil gjøres på bare noen få sekunder.

3. Når Nginx er installert, kan du starte og bekrefte det ved å kjøre:

$ sudo systemctl start nginx
$ sudo systemctl status nginx

Utdataene ovenfor indikerer tydelig at Nginx kjører.

4. For å sjekke versjonen av Nginx, kjør:

$ sudo dpkg -l nginx

Utdataene indikerer at vi kjører Nginx 1.17.10, som er den nyeste versjonen på tidspunktet for nedskrivning av denne artikkelen.

Åpne Nginx-porter på UFW-brannmur

Nå som du har Nginx installert og kjører som forventet, kreves noen få justeringer for at Nginx skal få tilgang via en nettleser. Hvis du kjører UFW-brannmuren, må du tillate Nginx-applikasjonsprofilen.

Det er 3 Nginx-profiler knyttet til ufw brannmur.

  1. Nginx Full – Dette åpner både port 80 og 443 (for SSL/TLS-kryptering).
  2. Nginx HTTP – Denne åpner kun port 80 (for ukryptert nettrafikk).
  3. Nginx HTTPS – Åpner kun port 443 (for SSL/TLS-kryptering).

5. Begynn med å aktivere brannmuren på Ubuntu 20.04.

$ sudo ufw enable

6. Foreløpig, siden vi ikke er på en kryptert server, vil vi bare tillate Nginx HTTP-profilen som tillater trafikk på port 80.

$ sudo ufw allow 'Nginx HTTP'

7. Last deretter inn brannmuren på nytt for at endringene skal vedvare.

$ sudo ufw reload

8. Sjekk nå statusen til brannmuren for å bekrefte profilene som er tillatt.

$ sudo ufw status

Tester Nginx på Ubuntu 20.04

Nginx kjører på nettleseren som du forventer med en hvilken som helst webserver, og den sikreste måten å teste om den kjører som forventet er å sende forespørsler via en nettleser.

9. Så gå ut til nettleseren din og bla gjennom serverens IP-adresse eller domenenavn. For å sjekke serverens IP, kjør ifconfig-kommandoen:

$ ifconfig

10. Hvis du er på en skyserver, kjør curl-kommandoen nedenfor for å hente serverens offentlige IP.

$ curl ifconfig.me

11. I nettleserens URL-felt skriver du inn serverens IP-adresse eller domenenavn og trykker ENTER.

http://server-IP or domain-name

Du bør få en standard Nginx-velkomstside som vist.

Administrer Nginx-prosessen i Ubuntu 20.04

12. For å stoppe Nginx-nettserveren, kjør ganske enkelt:

$ sudo systemctl stop nginx

13. For å få opp webserveren igjen, kjør:

$ sudo systemctl start nginx

14. Slik starter du Nginx automatisk ved oppstart eller omstart:

$ sudo systemctl enable nginx

15. Hvis du vil starte webserveren på nytt, spesielt etter at du har gjort endringer i konfigurasjonsfilene, kjør:

$ sudo systemctl restart nginx

16. Alternativt kan du laste inn på nytt for å unngå å miste tilkoblinger som vist.

$ sudo systemctl reload nginx

Konfigurere Nginx Server Block i Ubuntu 20.04

Hvis du planlegger å være vert for mer enn ett nettsted på serveren din, anbefales det på det sterkeste å sette opp en Nginx Server-blokk. Serverblokken tilsvarer Apaches virtuelle vert.

Som standard leveres Nginx med sin standard serverblokk som er satt til å tjene nettinnhold på /var/www/html banen.

Vi skal lage en egen Nginx-blokk for å betjene domenets innhold. For denne veiledningen skal vi bruke domenet crazytechgeek.info.
For ditt tilfelle, sørg for at du erstatter dette med ditt eget domenenavn.

17. For å opprette en serverblokkfil, Lag først en katalog for domenet ditt som vist.

$ sudo mkdir -p /var/www/crazytechgeek.info/html

18. Deretter tildeler du eierskapet til den nye katalogen ved å bruke $USER-variabelen.

$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19. Sørg for at du også tildeler katalogtillatelser tilsvarende, slik at eieren kan ha alle tillatelsene (lese, skrive og utføre) og gi andre parter kun lese- og utføringstillatelser.

$ sudo chmod -R 755 /var/www/crazytechgeek.info

20. Inne i domenekatalogen, lag en index.html en fil som vil inneholde webinnholdet til domenet.

$ sudo vim /var/www/crazytechgeek.info/html/index.html

Lim inn innholdet nedenfor i prøvetestfilen.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Lagre endringene og avslutt filen.

21. For at Nginx-nettserveren skal betjene innholdet du nettopp har lagt til, må du opprette en serverblokk med de riktige direktivene. I dette tilfellet opprettet vi en ny serverblokk på:

$ sudo vim /etc/nginx/sites-available/crazytechgeek.info

Lim inn konfigurasjonen som vises.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }
}

Lagre og lukk.

22. Aktiver nå serverblokkfilen ved å koble den til den nettstedaktiverte katalogen som Nginx-serveren leser fra ved oppstart.

$ sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23. For at endringene skal utføres, start Nginx-nettserveren på nytt.

$ sudo systemctl restart nginx

24. Bare for å være sikker på at alle konfigurasjoner er i orden, kjør kommandoen:

$ nginx -t

Hvis alle konfigurasjonene er i orden, bør du få utdataene vist nedenfor:

25. Nginx-nettserveren skal nå betjene domenets innhold. Nok en gang, gå ut til nettleseren din og bla gjennom serverens domene.

http://domain-name

Det tilpassede innholdet ditt i domenets katalog vil vises som vist.

Viktige Nginx-konfigurasjonsfiler

Før vi avslutter, er det avgjørende at vi undersøker noen av de viktige konfigurasjonsfilene knyttet til Nginx.

  • /etc/nginx/nginx.conf: Dette er hovedkonfigurasjonsfilen. Du kan endre innstillingene for å møte serverens krav.
  • /etc/nginx/sites-available: Dette er katalogen som lagrer serverblokkkonfigurasjonen. Nginx bruker bare serverblokkene hvis de er koblet til den nettstedaktiverte katalogen.
  • /etc/nginx/sites-enabled: Katalogen inneholder Nginx-serverblokker per sted som allerede er aktivert.

Det er to hovedloggfiler du kan bruke til å feilsøke Nginx-nettserveren din:

  • /var/log/nginx/access.log: Dette logger alle forespørslene til webserveren.
  • /var/log/nginx/error.log: Dette er feilloggfilen og den registrerer alle feilene som Nginx støter på.

Vi har nådd slutten av denne opplæringen. Vi har vist hvordan du kan installere Nginx på Ubuntu 20.04 og hvordan du kan sette opp Nginx-serverblokker for å betjene domenets innhold. Din tilbakemelding er velkommen.