Installer Nginx på Ubuntu 18.04
I denne artikel vil jeg vise hvordan man installerer Nginx på Ubuntu 18.04.
Nginx er en server ligesom Apache, og flere tests har vist at den er hurtigere. Derfor vælger mange også at installere Nginx i stedet for Apache. På mange måder virker de på samme måde, så det er et fint alternativ til Apache.
Først og fremmest skal du have en webserver med Ubuntu 18.04 installeret. Dette kan f.eks. være en DigitalOcean droplet med Ubuntu 18.04 installeret. Denne kan du få for 5 dollars pr. måned.
Først starter du serveren op i en konsol (f.eks. Putty i Windows eller terminalen i Linux eller Mac), og logger ind i root.
Installer Nginx
Først skal du opdatere indexet med pakker på Ubuntu med kommandoen:
sudo apt update
Så installerer du Nginx med kommandoen:
sudo apt install nginx
Så skal vi have aktiveret Firewallen og konfigurere den. Det første vi gør er at bruge følgende kommando til at se listen med applikationer der kører.
sudo ufw app list
Nu aktiverer vi firewallen med kommandoen:
sudo ufw enable
Så åbner vi op for trafik på OpenSSH med kommandoen:
sudo ufw allow ‘OpenSSH’
Så åbner vi op for trafik til Nginx på port 80 med følgende kommando:
sudo ufw allow 'Nginx HTTP'
Du kan se om firewallen er konfigureret korrekt med kommandoen:
sudo ufw status
Her skulle der meget gerne stå Allow ud for alle.
For at se om Nginx serveren kører kan du bruge kommandoen:
systemctl status nginx
Åben nu en browser og indtast din servers IP adresse eller alternativt et domæne, der peger derhen, hvorved der gerne skulle komme følgende skærm.
Opsæt serverblokke på Nginx
På Apache webserver opsætter du flere domæner på samme server med det der hedder virtual hosts. På Nginx hedder dette serverblokke, så for at få flere domæner eller subdomæner til at køre på samme server, skal du altså have flere serverblokke.
Det første du skal gøre er selvfølgelig at sørge for at de relevante domæner peger på IP adressen til din server, dvs. der er lavet A records på DNS opsætningen til serveren. Dette vil jeg ikke vise i denne artikel, men skriv endelig en kommentar hvis du er i tvivl.
Standardmappen hvor filerne til serveren ligger på Nginx hedder /var/www/html. Vi vil nu oprette en mappe der hedder /var/www/it-blogger.dk hvor filerne til dette domæne skal ligge. Dette gør vi med kommandoen:
sudo mkdir -p /var/www/it-blogger.dk
For at sikre ejerskab over mappen, kan du bruge kommandoen:
sudo chown -R $USER:$USER /var/www/it-blogger.dk
Og hvis du vil sikre de rigtige rettigheder bruger du:
sudo chmod -R 755 /var/www/it-blogger.dk
Nu skal der oprettes en standardside:
nano /var/www/it-blogger.dk/index.html
Indsæt HTML kode i Nano editoren, f.eks.
<html> <head> <title>Webhotel.guide</title> </head> <body> <h1>Det virker!</h1> </body> </html>
Nu er selve mappen med filer klar, og nu skal selve serverblokken laves:
sudo nano /etc/nginx/sites-available/it-blogger.dk
Indsæt følgende:
server {
listen 80;
listen [::]:80;
root /var/www/it-blogger.dk;
index index.html index.htm index.nginx-debian.html;
server_name it-blogger.dk www.it-blogger.dk;
location / {
try_files $uri $uri/ =404;
}
}
Så aktiveres serverblokken med:
sudo ln -s /etc/nginx/sites-available/it-blogger.dk /etc/nginx/sites-enabled/
Nu er der altså to serverblokke. Webhotel.guide vil pege på mappen /var/www/it-blogger.dk, mens alle andre der ikke har sin egen serverblok vil pege på /var/www/html.
For at undgå hukommelsesproblemer med Nginx når du kører med flere domæner, skal du lige åbne følgende konfigurationsfil:
sudo nano /etc/nginx/nginx.conf
Find linjen “server_names_hash_bucket_size 64;” og fjern # der står foran. Gem herefter filen. Test for syntaxfejl med kommandoen:
sudo nginx -t
Genstart Nginx og afprøv om domænet virker.
sudo systemctl restart nginx
Nu har du installeret Nginx på Ubuntu 18.04. Du kan nu overveje også at installere en MySQL server og PHP.