Sådan installerer du Nginx webserver på Ubuntu/Debian

Dette vejledning vil førde dig gennem processen med at installere og konfigurere Nginx webserveren på et Ubuntu- eller Debian-system. Ved slutningen af denne tutorial vil du have en grundlæggende forståelse af, hvordan man sætter op Nginx, opretter serverblocks (virtuelle værter), administrerer hjemmesider, konfigurerer firewallregler og tester din opsætning.

Installation af Nginx

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

  1. Opdater pakkeindekset på din server:
  2. sudo apt update
  3. Installer Nginx ved hjælp af følgende kommando:
  4. sudo apt install nginx
  5. Når installationen er fuldført, kan du starte Nginx-tjenesten med:
  6. sudo systemctl start nginx
  7. For at sikre, at Nginx starter automatisk ved opstart, aktiver den med:
  8. sudo systemctl enable nginx

Standardkonfiguration

Nginx kommer med en standardkonfigurationsfil placeret i /etc/nginx/nginx.conf. Det anbefales generelt at lade denne fil være uændret og foretage side-specifikke konfigurationer i serverblocks.

Standardserverblocken findes i /etc/nginx/sites-available/default og aktiveres ved at oprette et symbolisk link til den i mappen sites-enabled. Du kan se indholdet med:

cat /etc/nginx/sites-available/default

Opretning af Serverblocks (Virtuelle Værter)

For at værge flere domæner på en enkelt server, skal du oprette separate serverblocks for hvert domæne.

  1. Opret en ny konfigurationsfil i mappen sites-available:
  2. sudo nano /etc/nginx/sites-available/example.com
  3. Tilføj følgende grundlæggende serverblock-konfiguration, erstatt example.com med dit domænenavn og justér stier efter 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. Opret dokumentroden:
  6. sudo mkdir -p /var/www/example.com/html
  7. Sæt de korrekte rettigheder for webroden:
  8. sudo chown -R $USER:$USER /var/www/example.com/html
    sudo chmod -R 755 /var/www
  9. Opret en prøve-indexfil til at teste din konfiguration:
  10. echo "Velkommen til example.com!" | sudo tee /var/www/example.com/html/index.html
  11. Aktiver den nye side ved at oprette et symbolisk link i mappen sites-enabled:
  12. sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
  13. Test din Nginx-konfiguration for syntaksfejl:
  14. sudo nginx -t
  15. Hvis testen lykkes, genstart Nginx for at anvende ændringerne:
  16. sudo systemctl reload nginx

Firewallkonfiguration

Sørg for, at din firewall tillader trafik på port 80 (HTTP) og eventuelt port 443 (HTTPS).

  1. Hvis du bruger UFW, lad HTTP-trafik gennem:
  2. sudo ufw allow 'Nginx Full'

Test af Din Opsætning

For at bekræfte, at din Nginx-serverblock fungerer korrekt, åbn en webbrowser og navigér til dit domænenavn eller IP-adresse. Du bør se meddelelsen "Velkommen til example.com!" du oprettede tidligere.

Fejlfinding

  • 403 Forbidden Fejl: Tjek, at rettighederne for din dokumentrod er sat korrekt og at Nginx har læseadgang.
  • 502 Bad Gateway Fejl: Dette indikerer ofte et problem med en backend-tjeneste. Sørg for, at alle tjenester, der kræves af din side (fx PHP-FPM), kører.
  • Nginx Starter Ikke: Tjek Nginx-fejlloggen for flere oplysninger ved hjælp af sudo tail -f /var/log/nginx/error.log.