Installeer Nginx op Debian 12

Installeer Nginx Op Debian 12



In deze handleiding laten we zien hoe u Nginx op Debian 12 installeert en configureert.

Vereisten:

Om de stappen uit te voeren die in deze handleiding worden gedemonstreerd, hebt u de volgende componenten nodig:

  • Een correct geconfigureerd Debian 12-systeem. Uitchecken hoe u Debian op een VirtualBox VM installeert .
  • Toegang tot een niet-rootgebruiker met sudo-rechten. Leer meer over het sudo-privilege beheren met behulp van /etc/sudoers in Debian .

Nginx op Debian

Ontwikkeld en onderhouden door de Debian-project , Debian is een populair , gratis en open-source Linux-distributie. Debian staat bekend om zijn stabiliteit, veiligheid en gemeenschapsondersteuning. Debian 12 (codenaam “bookworm”) is de nieuwste stabiele release. Leer meer over upgraden van Debian 11 naar Debian 12 .







Nginx is een gratis en open-source webserver die bekend staat om zijn hoge prestaties, schaalbaarheid, geheugenefficiëntie en beveiliging. Bovendien kan het ook functioneren als een reverse proxy, load balancer, HTTP-cache, enz.



Op Debian is Nginx rechtstreeks beschikbaar via de officiële pakketrepository's. Het kan echter enigszins verouderd zijn als gevolg van De cyclus van de pakketuitgave van Debian . Gelukkig biedt Nginx een officiële Debian-repository met de nieuwste releases.



Methode 1: Nginx installeren vanuit de Debian Repo

Open eerst een terminalvenster en update de APT-repo-cache:





$ sudo passende update

Nginx is beschikbaar als het “nginx” -pakket:



$ apt show nginx

Om Nginx te installeren, voert u de volgende opdracht uit:

$ sudo geschikt installeren nginx

Methode 2: Nginx installeren vanuit de Nginx Repo

Het configureren van de Nginx APT-repository biedt de nieuwste versie van Nginx. Het kan echter conflicteren met andere Nginx-pakketten uit de standaardrepository.

Vereisten installeren

Installeer eerst de vereiste pakketten:

$ sudo geschikt installeren curl gnupg2 ca-certificaten lsb-release debian-archief-sleutelhanger

De GPG-ondertekeningssleutel importeren

De Nginx-ondertekeningssleutel is vereist zodat APT de authenticiteit van de gedownloade pakketten kan verifiëren. Pak de ondertekeningssleutel:

$ krul https: // nginx.org / sleutels / nginx_signing.key | gpg --geachte | sudo tee / usr / deel / sleutelhangers / nginx-archief-sleutelhanger.gpg > / ontwikkelaar / nul

Controleer of de juiste sleutel is geïmporteerd:

$ gpg --oefening --rustig --geen sleutelhanger --importeren --import-opties import-show / usr / deel / sleutelhangers / nginx-archief-sleutelhanger.gpg

De uitvoer moet 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 afdrukken als de vingerafdruk van de sleutel. Als dit niet het geval is, verwijdert u het bestand uit /usr/share/keyrings/nginx-archive-keyring.gpg en start het proces opnieuw.

Nginx APT-repository toevoegen

Nu de ondertekeningssleutel is geïnstalleerd, kunnen we nu de Nginx-repository aan APT toevoegen. Nginx biedt twee releasetakken:

stal : Betere compatibiliteit met modules van derden. Ontvangt alleen kritieke oplossingen.

hoofdlijn : Nieuwe functies kunnen van invloed zijn op de modulecompatibiliteit. Het ontvangt echter meer bugfixes, beveiligingspatches en kritieke oplossingen.

Nginx raadt officieel aan om in alle gevallen de hoofdlijntak in te zetten. Om de hoofdlijnvertakking van Nginx toe te voegen, voert u de volgende opdracht uit:

$ echo 'deb [ondertekend door=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx' | sudo tee / enz / geschikt / bronnen.lijst.d / nginx.lijst

Als je in plaats daarvan de stabiele Nginx-branch wilt, voer je de volgende opdracht uit:

$ echo 'deb [ondertekend door=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx' | sudo tee / enz / geschikt / bronnen.lijst.d / nginx.lijst

Repo vastzetten

Om APT te dwingen de Nginx-repository te gebruiken bij het omgaan met Nginx-gerelateerde pakketten, schakelen we het vastzetten van de repo in:

$ echo -Het is 'Pakket: * \N Pin: oorsprong nginx.org \N Pin: laat o=nginx los \N Pin-prioriteit: 900 \N ' | sudo tee / enz / geschikt / voorkeuren.d / 99nginx

Nginx installeren

Terwijl de nieuwe repository is geconfigureerd, werkt u de APT-repo-cache bij:

$ sudo passende update

Bekijk de Nginx-pakketinformatie:

$ apt show nginx

Installeer ten slotte Nginx:

$ sudo geschikt installeren nginx

Firewall-aanpassing

Debian wordt geleverd met de iptables (netfilter) firewall vooraf geïnstalleerd. Voor gebruiksgemak wordt het echter aanbevolen om de UFW-firewall . Het is eigenlijk een gebruiksvriendelijkere frontend voor netfilter.

Standaard blokkeert UFW Nginx van de netwerktoegang. Om zowel HTTP/HTTPS-toegang toe te staan, voert u de volgende opdracht uit:

$ sudo uhm toestaan 80 , 443 / TCP

Als u alleen HTTP-toegang wilt, gebruikt u in plaats daarvan de volgende opdracht:

$ sudo uhm toestaan 80 / TCP

Als u alleen HTTPS-toegang wilt, gebruikt u in plaats daarvan de volgende opdracht:

$ sudo uhm toestaan 443 / TCP

Controleer of de regels succesvol zijn toegevoegd:

$ sudo ufw-status

De Nginx-installatie verifiëren

Er zijn een aantal manieren waarop we kunnen verifiëren of de Nginx-installatie succesvol is. Controleer eerst de status van de Nginx-service:

$ sudo systemctl-status nginx

Als deze niet actief is, start u de server:

$ sudo systemctl start nginx

Open nu de volgende URL in een webbrowser:

$ http: // localhost_of_server_ip /

U zou op de standaard Nginx-welkomstpagina moeten belanden.

Beheer van het Nginx-proces

Bij installatie registreert Nginx een service bij systemd. Met behulp van de service kunnen we de Nginx-processen eenvoudig beheren.

Nginx-status

De volgende opdracht retourneert de status van Nginx:

$ sudo systemctl-status nginx

Nginx stoppen

De volgende opdracht stopt Nginx:

$ sudo systemctl stop nginx

Nginx starten

Als Nginx niet actief is, gebruik dan de volgende opdracht om de server te starten:

$ sudo systemctl start nginx

Nginx opnieuw laden

Nginx vereist geen volledige herstart om wijzigingen in de configuratie toe te passen. In dat geval kunnen we de Nginx-service opnieuw laden zonder dat de verbinding wordt verbroken:

$ sudo systemctl herlaad nginx

Nginx opnieuw opstarten

Voer de volgende opdracht uit om de Nginx-server opnieuw te starten:

$ sudo systemctl herstart nginx

Nginx opnieuw laden of opnieuw opstarten

Als u niet zeker weet of u Nginx opnieuw moet laden of opnieuw moet opstarten, gebruikt u de volgende opdracht:

$ sudo systemctl herladen of herstarten van nginx

In dit geval beslist systemd automatisch wat de beste handelwijze is.

Bonustips 1: Nginx-blokken

Net als virtuele hosts in Apache ondersteunt Nginx ook meerdere hosts op één server.

Hier is een dummyconfiguratie die twee virtuele servers verwerkt ( bron ):

http {

indexindex. html ;

server {

servernaam www. domein1 . met ;

access_log-logboeken / domein1. toegang . loggen voornaamst ;

wortel / was / www / domein1. met / htdocs ;

}

server {

servernaam www. domein2 . met ;

access_log-logboeken / domein2. toegang . loggen voornaamst ;

wortel / was / www / domein2. met / htdocs ;

}

}

Het bestand bevat meerdere blokken binnen het configuratiebestand, die elk verschillende eigenschappen beschrijven. De belangrijkste blokken zijn de server- en locatieblokken:

  • server : Het beschrijft een virtuele server om de clientverzoeken van een specifiek type af te handelen. Er kunnen meerdere serverblokken zijn voor meerdere virtuele servers. Inkomende verbindingen worden omgeleid naar verschillende serverblokken op basis van de aangevraagde domeinnaam, IP-adres en poort.
  • plaats : Het is een subblok binnen het serverblok. Het beschrijft hoe Nginx de inkomende clientverzoeken voor verschillende bronnen moet afhandelen.

Deze configuraties worden opgeslagen in bestanden in /etc/nginx/sites-available . Voor elk serverblok kunnen er unieke bestanden zijn. De configuraties worden toegepast wanneer ze onder worden geplaatst /etc/nginx/sites-enabled . Over het algemeen zijn de configuratiebestanden van de beschikbare sites symbolisch gekoppeld aan sites die zijn ingeschakeld.

Bonustips 2: Belangrijke Nginx-bestanden en -mappen

Hier is een korte lijst met belangrijke Nginx-bestanden en -mappen:

  • /etc/nginx : De bovenliggende map die alle Nginx-configuraties host.
  • /etc/nginx/sites-available : Het bevat de serverblokbestanden. De configuratiebestanden worden niet gebruikt.
  • /etc/nginx/sites-enabled : Het host ook de serverblokken per site. Over het algemeen zijn het symlinks van de beschikbare sites. Nginx maakt actief gebruik van configuraties uit deze map om aan de clientverzoeken te voldoen.
  • /etc/nginx/snippets : Het host de configuratiefragmenten die elders kunnen worden geïmplementeerd.
  • /etc/nginx/ngnix.conf : Het is het primaire configuratiebestand voor Nginx. Het behandelt het mondiale gedrag van Nginx.

Conclusie

We hebben de verschillende manieren getoond om Nginx op Debian te installeren. We hebben ook kort besproken hoe de Nginx-processen kunnen worden beheerd met systemd. Daarnaast hebben we ook kort ingegaan op de Nginx-blokken en hoe Nginx kan worden geconfigureerd om meerdere virtuele hosts te bedienen.

Meer weten over Nginx? Bekijk de Nginx-subcategorie .