Hvordan å installere Nginx webserver på Ubuntu/Debian

Denne guiden fører deg gjennom prosessen av å installere og konfigurere Nginx webserveren på et Ubuntu- eller Debian-system. Ved slutten av denne veiledningen vil du ha en grunnleggende forståelse for hvordan du setter opp Nginx, lager serverblocks (virtuelle vertskap), administrerer nettsteder, konfigurerer brannmurregler og tester oppsettet ditt.

Installasjon av Nginx

For å installere Nginx på Ubuntu eller Debian, følg disse trinnene:

  1. Oppdater pakkeindeksen på serveren din:
  2. sudo apt update
  3. Installer Nginx ved å bruke følgende kommando:
  4. sudo apt install nginx
  5. Når installasjonen er fullført, kan du starte Nginx-tjenesten med:
  6. sudo systemctl start nginx
  7. For å sikre at Nginx starter automatisk ved oppstart, aktiver det med:
  8. sudo systemctl enable nginx

Standardkonfigurasjon

Nginx kommer med en standardkonfigurasjonsfil plassert i /etc/nginx/nginx.conf. Det anbefales generelt å la denne fila være uendret og gjøre sidebestemte konfigurasjoner i serverblocks.

Standardserverblocken finnes i /etc/nginx/sites-available/default og blir aktivert ved å opprette en symbolisk lenke til den i katalogen sites-enabled. Du kan se innholdet i den med:

cat /etc/nginx/sites-available/default

Lagning av Serverblocks (Virtuelle Vertskap)

For å verte flere domener på en enkelt server, må du opprette separate serverblocks for hvert domene.

  1. Lag en ny konfigurasjonsfil i katalogen sites-available:
  2. sudo nano /etc/nginx/sites-available/example.com
  3. Legg til følgende grunnleggende serverblock-konfigurasjon, erstatt example.com med domenenavnet ditt og juster stier etter behov:
  4. server {
            listen 80;
            server_name example.com www.example.com;
    
            root /var/www/example.com/html;
            index index.html index.htm;
    
            location / {
                try_files $uri $uri/ =404;
            }
        }
  5. Lag dokumentrotnedkatalogen:
  6. sudo mkdir -p /var/www/example.com/html
  7. Sett riktige tilganger for webrotkatalogen:
  8. sudo chown -R $USER:$USER /var/www/example.com/html
    sudo chmod -R 755 /var/www
  9. Lag en eksempelindexfil for å teste konfigurasjonen din:
  10. echo "Velkommen til example.com!" | sudo tee /var/www/example.com/html/index.html
  11. Aktiver det nye nettstedet ved å opprette en symbolisk lenke i katalogen sites-enabled:
  12. sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
  13. Test Nginx-konfigurasjonen din for syntaksfeil:
  14. sudo nginx -t
  15. Hvis testen er vellykket, last inn Nginx på nytt for å gjennomsføre endringene:
  16. sudo systemctl reload nginx

Konfigurasjon av Brannmur

Sørg for at brannmuren din tillater trafikk på port 80 (HTTP) og valgfritt port 443 (HTTPS).

  1. Hvis du bruker UFW, tillat HTTP-trafikk:
  2. sudo ufw allow 'Nginx Full'

Testing av Oppsettet Ditt

For å bekrefte at Nginx-serverblocken din fungerer korrekt, åpne en webbrowser og naviger til domenenavnet ditt eller IP-adressen. Du bør se meldingen "Velkommen til example.com!" du opprettet tidligere.

Feilsøking

  • 403 Forbidden Feil: Sjekk at tilgangsrettighetene for dokumentrotnedkatalogen dine er satt riktig og at Nginx har leseaksess.
  • 502 Bad Gateway Feil: Dette indikerer ofte et problem med en bakgrunntjeneste. Sørg for at alle tjenester som kreves av nettstedet ditt (f.eks. PHP-FPM) kjører.
  • Nginx Starter Ikke: Sjekk Nginx-feilloggen for mer informasjon ved å bruke sudo tail -f /var/log/nginx/error.log.