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:
- Oppdater pakkeindeksen på serveren din:
- Installer Nginx ved å bruke følgende kommando:
- Når installasjonen er fullført, kan du starte Nginx-tjenesten med:
- For å sikre at Nginx starter automatisk ved oppstart, aktiver det med:
sudo apt update
sudo apt install nginx
sudo systemctl start nginx
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.
- Lag en ny konfigurasjonsfil i katalogen
sites-available: - Legg til følgende grunnleggende serverblock-konfigurasjon, erstatt
example.commed domenenavnet ditt og juster stier etter behov: - Lag dokumentrotnedkatalogen:
- Sett riktige tilganger for webrotkatalogen:
- Lag en eksempelindexfil for å teste konfigurasjonen din:
- Aktiver det nye nettstedet ved å opprette en symbolisk lenke i katalogen
sites-enabled: - Test Nginx-konfigurasjonen din for syntaksfeil:
- Hvis testen er vellykket, last inn Nginx på nytt for å gjennomsføre endringene:
sudo nano /etc/nginx/sites-available/example.com
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;
}
}
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www
echo "Velkommen til example.com!" | sudo tee /var/www/example.com/html/index.html
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Konfigurasjon av Brannmur
Sørg for at brannmuren din tillater trafikk på port 80 (HTTP) og valgfritt port 443 (HTTPS).
- Hvis du bruker UFW, tillat HTTP-trafikk:
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.