Installer Nginx med serverblokke (virtuelle værter) på Debian 10


Nginx er en meget populær højtydende webserver, der kombinerer kraften i omvendt proxy, belastningsafbalancering, caching og så meget mere. Afhængigt af hvordan den er konfigureret, kan den fungere som en omvendt proxy såvel som en belastningsafbalancering for HTTP/HTTPS-servere.

Nginx webserver har en fænomenal kapacitet til at betjene tusinder af samtidige forbindelser, og dette gør den til den hurtigste webserver, der driver over halvdelen af de travleste steder på kloden. Disse inkluderer Netflix, DuckDuckGo og DropBox for blot at nævne nogle få.

I denne vejledning gennemgår vi trinene til, hvordan du installerer Nginx med virtuelle værter til at være vært for flere domæner på en på Debian 10-serveren.

Inden vi kommer i gang, skal du sikre dig, at følgende krav er opfyldt:

  1. En forekomst af Debian 10.
  2. Et fuldt kvalificeret domænenavn (FQDN), der peger på serveren.
  3. I denne vejledning bruger vi domænet linux-console.net, der peger på et Debian 10-system med en IP-adresse 192.168.0.104.
  4. En god internetforbindelse.

Trin 1: Opdater Debian 10-pakkeopbevaringsstedet

Før noget andet er vi nødt til at opdatere vores lokale pakkelager til de nyeste versioner. For at opnå dette skal du logge ind som en almindelig bruger med sudo-privilegier og køre kommandoen nedenfor.

$ sudo apt update -y

Trin 2: Installer Nginx på Debian 10

Da Nginx er til stede i Debians arkiver, kan vi komfortabelt gå videre og installere det ved hjælp af den apt pakkehåndtering, der følger med Debian.

$ sudo apt install nginx -y

Trin 3: Kontrol af status for Nginx Webserver

Hvis du ikke stødte på nogen fejl, blev Nginx-webserveren installeret. Det er klogt at verificere webserverens status, inden du foretager yderligere konfigurationer.

For at kontrollere status for Nginx skal du udføre:

$ systemctl status nginx

Hvis webserveren kører, får du meddelelsen nedenfor.

Hvis du vil genstarte Nginx-webserveren, skal du køre kommandoen.

$ systemctl restart nginx

For at stoppe Nginx skal du udstede kommandoen.

$ systemctl stop nginx

For at starte webserveren skal du køre.

$ systemctl start nginx

For at konfigurere Nginx-webserveren til at starte ved opstart.

$ systemctl enable nginx

Trin 4: Konfigurer Firewall til Åbn Nginx Port

Med Nginx med succes installeret og kører, er vi nødt til at tillade internetadgang til tjenesten, især til eksterne brugere. Hvis du har UFW-firewall aktiveret, skal du tillade HTTP-adgang gennem firewallen.

For at opnå dette skal du udføre kommandoen.

$ sudo ufw allow 'Nginx HTTP'

Genindlæs derefter firewallen for at foretage ændringerne.

$ sudo ufw reload

Godt, nu kan du kontrollere, at HTTP er tilladt gennem firewallen ved at køre.

$ sudo ufw status

Fra uddraget ovenfor kan vi tydeligt se, at Nginx HTTP er tilladt gennem UFW-firewall.

Trin 5: Adgang til Nginx Web Server

Vi har hidtil lavet de grundlæggende konfigurationer for at få Nginx i gang. For at få adgang til webserveren via webbrowseren skal du gennemse serverens IP-adresse som vist.

http://server-IP-address

Dette er en bekræftelse på, at Nginx er i gang.

Trin 6: Konfiguration af Nginx-serverblokke på Debian 10

Dette er et valgfrit trin og er nyttigt, når du vil være vært for flere domæner på en Nginx-webserver. For at dette skal fungere, skal du have et domænenavn peget på din Debian-server.

I dette afsnit skal vi bruge domænenavnet linux-console.net, der er En post er peget på serverens IP 192.168.0.104.

Når du peger domænenavnet til din servers IP-adresse, vil domænenavnet snart ændre sig og pege på din webserver som vist.

Lad os nu oprette en serverblok.

Lad os først oprette en mappe til vores domæne som vist.

$ sudo mkdir -p /var/www/html/linux-console.net

Tildel derefter det krævede filejerskab som vist.

$ sudo chown -R $USER:$USER /var/www/html/linux-console.net

Dernæst tildel læs og udfør tilladelser til gruppe og offentlige brugere som vist.

$ sudo chmod -R 755 /var/www/html/linux-console.net

Lad os nu oprette en simpel index.html-prøvewebside ved hjælp af vim-teksteditor.

$ sudo vim /var/www/html/linux-console.net/index.html

Tilføj noget eksempelindhold til filen. Dette vises i browseren.

<html>
    <head>
        <title>Welcome to Linux geeks</title>
    </head>
    <body>
        <h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
    </body>
</html>

Gem og afslut editoren

For at dette indhold skal serveres, skal der oprettes en serverblok.

Lad os oprette en serverblok

$ vim  /etc/nginx/sites-available/linux-console.net

Kopier og indsæt følgende indhold i serverblokfilen.

server {
        listen 80;
        listen [::]:80;

        root /var/www/html/linux-console.net;
        index index.html index.htm index.nginx-debian.html;

        server_name linux-console.net linux-console.net;

        location / {
                try_files $uri $uri/ =404;
        }
}

Sørg for at opdatere domænenavnet linux-console.net med dit eget domænenavn.

For at aktivere eller aktivere serverblokfilen skal du oprette et symbolsk link som vist.

$ sudo ln -s /etc/nginx/sites-available/linux-console.net /etc/nginx/sites-enabled/

For at kontrollere, at alle indstillinger i Nginx er korrekt konfigureret, skal du køre.

$ sudo nginx -t

Fantastisk, vi er gode at gå! Genstart endelig Nginx.

$ sudo systemctl restart nginx

Gå ud til din browser og opdater, og hvis alt gik godt, skal browseren betjene din serverblok-webside som vist.

Trin 7: Adgang til Nginx-logfiler

For at få adgang til logfiler om anmodninger til din server skal du åbne filen nedenfor.

$ sudo vim /var/log/nginx/access.log 

Hvis du støder på fejl på din Nginx-webserver, skal du undersøge filen for fejl.

$ sudo vim /var/log/nginx/error.log

I denne vejledning lærte du, hvordan du installerer Nginx på din Debian 10-forekomst og konfigurerer den yderligere for at understøtte yderligere domæner. Vi håber, du fandt denne vejledning indsigtsfuld. Din feedback vil blive værdsat ..