Installere og konfigurere NGINX
Steg-for-steg guide for å installere og konfigurere NGINX webserver på din VPS
Introduksjon
NGINX er en kraftig, høyytende webserver og reverse proxy. Denne guiden vil lede deg gjennom installasjon og konfigurasjon av NGINX på din VPS.
Forutsetninger
- En VPS med Ubuntu/Debian installert
- Root eller sudo-tilgang
- Grunnleggende kommandolinje-kunnskap
- Domenenavn (valgfritt, for SSL-konfigurasjon)
Steg 1: Installer NGINX
Oppdater pakkelisten og installer NGINX:
sudo apt update
sudo apt install nginx -y
Verifiser installasjonen
Sjekk om NGINX kjører:
sudo systemctl status nginx
Du skal se en aktiv (kjørende) status.
Steg 2: Konfigurer brannmur
Tillat HTTP og HTTPS trafikk gjennom brannmuren:
sudo ufw allow 'Nginx Full'
sudo ufw status
Steg 3: Test webserveren din
Åpne nettleseren din og naviger til serverens IP-adresse:
http://din-server-ip
Steg 4: Konfigurer serverblokk
Serverblokker (ligner på virtuelle verter i Apache) lar deg hoste flere nettsteder. La oss opprette en:
Opprett mappestruktur
sudo mkdir -p /var/www/ditt-domene.no/html
sudo chown -R www-data:www-data /var/www/ditt-domene.no/html
sudo chmod -R 755 /var/www/ditt-domene.no
www-data-brukeren er standardbrukeren som NGINX kjører som, noe som sikrer riktig filtilgang og sikkerhet.
Opprett eksempelside
sudo nano /var/www/ditt-domene.no/html/index.html
Legg til litt innhold:
<!DOCTYPE html>
<html>
<head>
<title>Velkommen til ditt domene</title>
</head>
<body>
<h1>Suksess! Serveren din kjører.</h1>
<p>Dette er hostet på NGINX.</p>
</body>
</html>
Opprett serverblokk-konfigurasjon
sudo nano /etc/nginx/sites-available/ditt-domene.no
Legg til følgende konfigurasjon:
server {
listen 80;
listen [::]:80;
root /var/www/ditt-domene.no/html;
index index.html index.htm;
server_name ditt-domene.no www.ditt-domene.no;
location / {
try_files $uri $uri/ =404;
}
}
Aktiver serverblokken
sudo ln -s /etc/nginx/sites-available/ditt-domene.no /etc/nginx/sites-enabled/
Test konfigurasjonen
Før omstart, test konfigurasjonen:
sudo nginx -t
Hvis vellykket, last inn NGINX på nytt:
sudo systemctl reload nginx
Steg 5: Sett opp SSL med Let’s Encrypt
Sikre nettstedet ditt med et gratis SSL-sertifikat:
Installer Certbot
sudo apt install certbot python3-certbot-nginx -y
Få SSL-sertifikat
sudo certbot --nginx -d ditt-domene.no -d www.ditt-domene.no
Følg instruksjonene for å fullføre oppsettet. Certbot vil automatisk konfigurere NGINX til å bruke SSL.
Auto-fornyelse
Test fornyelsesprosessen:
sudo certbot renew --dry-run
Certbot setter opp automatisk fornyelse, men det er bra å verifisere at det fungerer.
Steg 6: Optimaliser NGINX-konfigurasjon
Aktiver Gzip-komprimering
Rediger hovedkonfigurasjonen:
sudo nano /etc/nginx/nginx.conf
Fjern kommentering eller legg til disse linjene i http-blokken:
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_types text/plain text/css text/xml text/javascript
application/json application/javascript application/xml+rss;
Konfigurer cache-headere
Legg til i serverblokken din:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
Vanlige NGINX-kommandoer
Her er noen nyttige kommandoer for å administrere NGINX:
| Kommando | Beskrivelse |
|---|---|
sudo systemctl start nginx | Start NGINX |
sudo systemctl stop nginx | Stopp NGINX |
sudo systemctl restart nginx | Start NGINX på nytt |
sudo systemctl reload nginx | Last inn konfigurasjon på nytt |
sudo nginx -t | Test konfigurasjon |
sudo systemctl status nginx | Sjekk status |
Feilsøking
Port allerede i bruk
Hvis du får en “port allerede i bruk”-feil:
sudo lsof -i :80
sudo lsof -i :443
Dette vil vise hva som bruker portene.
Konfigurasjonsfeil
Test alltid konfigurasjonen før du laster inn på nytt:
sudo nginx -t
Sjekk feillogger for detaljer:
sudo tail -f /var/log/nginx/error.log
Tilgang nektet
Hvis du ser tilgangsfeil, verifiser korrekt eierskap:
ls -la /var/www/ditt-domene.no
Filene skal eies av www-data:www-data. Hvis ikke, rett opp eierskapet:
sudo chown -R www-data:www-data /var/www/ditt-domene.no
sudo chmod -R 755 /var/www/ditt-domene.no
Sikkerhetspraksis
Merk: Sikkerhet er avgjørende for produksjonsservere. Følg alltid beste praksis:
- Hold NGINX oppdatert:
sudo apt update && sudo apt upgrade - Bruk SSL/TLS-sertifikater
- Konfigurer hastighetsbegrensning
- Deaktiver server-tokens:
server_tokens off; - Sett opp fail2ban for ekstra beskyttelse
Neste steg
Nå som du har NGINX kjørende:
- Sett opp en databaseserver (MySQL/PostgreSQL)
- Deploy applikasjonen din
- Konfigurer overvåking og logging
- Sett opp automatiske sikkerhetskopier
Flere ressurser
- Offisiell NGINX-dokumentasjon
- Bli med i vår Discord for community-support