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.

5 1 vote
Article Rating

Andreas Andersen

Forfatter og grundlægger af IT-blogger.dk, der har blogget om IT-emner siden 2012. Findes på Mastodon på @aphandersen@ansico.dk

You may also like...

Abonner
Giv besked ved
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x