Guide: Installere Nginx på Debian 11
Forutsetninger
- OS: Debian 11 (eller nyere)
- Tilgang: Root eller bruker med
sudo-rettigheter - Tid: ca. 10 minutter
Steg 1: Oppdater systemet
Før vi installerer noe som helst, er det god praksis å sørge for at alle pakkelister er oppdatert.
sudo apt update
sudo apt upgrade -y
Steg 2: Installere Nginx
Debian har Nginx i sine standard-repository, så installasjonen er enkel:
sudo apt install nginx -y
Når installasjonen er ferdig, skal Nginx starte automatisk. Du kan sjekke statusen med:
systemctl status nginx
Du skal se en grønn tekst som sier active (running).
Steg 3: Konfigurere Brannmur (UFW)
Hvis du bruker UFW (Uncomplicated Firewall), må du åpne for trafikk. Nginx registrerer seg automatisk i UFW ved installasjon.
Sjekk tilgjengelige profiler:
sudo ufw app list
Du vil se tre profiler:
- Nginx FW: Åpner kun port 80 (ikke kryptert)
- Nginx Secure: Åpner kun port 443 (HTTPS)
- Nginx Full: Åpner både port 80 og 443
Vi anbefaler å bruke Nginx Full for å tillate begge deler:
sudo ufw allow 'Nginx Full'
Steg 4: Test Webserveren
Åpne nettleseren din og skriv inn serverens IP-adresse:
http://din_server_ip
Du skal nå se standard-siden "Welcome to nginx!".
Steg 5: Sette opp Server Blocks (Valgfritt)
Hvis du skal hoste flere nettsider på samme server, må du bruke "Server Blocks" (tilsvarer Virtual Hosts i Apache).
- Lag mappen for nettsiden:
sudo mkdir -p /var/www/mitt-domene.com/html
sudo chown -R $USER:$USER /var/www/mitt-domene.com/html
- Lag en enkel index-fil:
echo "<h1>Hei fra Mitt Domene!</h1>" > /var/www/mitt-domene.com/html/index.html
- Lag konfigurasjonsfilen:
sudo nano /etc/nginx/sites-available/mitt-domene.com
Lim inn følgende:
server {
listen 80;
listen [::]:80;
root /var/www/mitt-domene.com/html;
index index.html index.htm index.nginx-debian.html;
server_name mitt-domene.com www.mitt-domene.com;
location / {
try_files $uri $uri/ =404;
}
}
- Aktiver siden:
Lag en "symlink" til
sites-enabled:
sudo ln -s /etc/nginx/sites-available/mitt-domene.com /etc/nginx/sites-enabled/
- Last inn Nginx på nytt:
sudo nginx -t # Sjekk for skrivefeil først!
sudo systemctl restart nginx
Ofte Stilte Spørsmål (FAQ)
Hvordan får jeg HTTPS (Hengelås)?
Den enkleste måten er å bruke Certbot fra Let's Encrypt.
sudo apt install certbot python3-certbot-nginx
Deretter kjører du: sudo certbot --nginx
Hvor ligger konfigurasjonsfilene?
Hovedfilen ligger på /etc/nginx/nginx.conf.
Dine nettsider ligger konfigurert i /etc/nginx/sites-available/.
Feilmelding: "Address already in use"
Dette betyr at port 80 er opptatt. Kjører du kanskje Apache samtidig?
Stopp Apache med sudo systemctl stop apache2 og prøv å starte Nginx igjen.