Hoe NGINX vanuit broncode te bouwen op Debian 12, 11 of 10

Het bouwen van NGINX vanuit de broncode op Debian 12, 11 of 10 biedt verschillende voordelen en potentiële nadelen. Door te compileren vanuit de broncode kunt u NGINX aanpassen met specifieke modules en optimalisaties die zijn afgestemd op uw behoeften, waardoor u meer controle krijgt over het bouwproces. Deze methode kan er ook voor zorgen dat u over de nieuwste functies en beveiligingspatches beschikt voordat deze beschikbaar zijn in de officiële repository's.

Er zijn echter enkele mogelijke nadelen waarmee u rekening moet houden. Bouwen vanuit de broncode vereist meer tijd en moeite vergeleken met het installeren van vooraf gecompileerde pakketten. Het vereist ook een goed begrip van het bouwproces en de afhankelijkheden. Bovendien kan het beheren van updates complexer zijn, omdat u NGINX voor elke nieuwe versie handmatig opnieuw moet compileren.

Deze handleiding demonstreert hoe NGINX vanuit de broncode op Debian 12, 11 of 10 kan worden gebouwd, en behandelt de noodzakelijke stappen en opdrachten om een ​​succesvolle installatie te garanderen.

Stap 1: Debian bijwerken en upgraden

Voordat u met de installatie begint, moet u uw Debian-systeem bijwerken. Gebruik deze opdrachten in de terminal:

sudo apt update
sudo apt upgrade

Met deze opdrachten wordt de lijst met beschikbare updates opgehaald en vervolgens uw systeem geüpgraded, zodat u zeker weet dat u met de nieuwste software werkt.

Stap 2: Installeer de vereiste afhankelijkheden

Installeer de vereiste initiële pakketten om Nginx te compileren met de volgende opdracht:

sudo apt install build-essential libpcre3-dev libssl-dev zlib1g-dev libgd-dev

Stap 3: Download NGINX-broncode

Als de benodigde afhankelijkheden zijn geïnstalleerd, is de volgende stap het downloaden van de NGINX-broncode. Bezoek de NGINX-website en kies de versie die het beste bij uw behoeften past. U kunt kiezen voor de nieuwste hoofdversie, stabiele of andere versie.

Gebruik de opdracht wget om de door u gekozen versie te downloaden:

wget http://nginx.org/download/nginx-x.x.x.tar.gz

Vervang xxx door het versienummer. Om bijvoorbeeld de nieuwste hoofdversie, 1.25.1, te downloaden, gebruikt u het volgende:

wget https://nginx.org/download/nginx-1.25.1.tar.gz

Opmerking: kopieer de bovenstaande opdracht niet; dit is slechts een voorbeeld. Zorg ervoor dat u de nieuwste stabiele of reguliere downloadlink gebruikt.

Stap 4: Pak de broncode uit

De broncode wordt geleverd in een gecomprimeerde tarball. Pak het uit met behulp van deze opdracht:

tar -xzvf nginx-1.25.1.tar.gz

Navigeer vervolgens naar de nieuw uitgepakte map:

cd nginx-1.25.1

Stap 5: Configureer NGINX-opties

Stel voor deze stap de NGINX-opties in vanaf de bron. Dit betekent dat u de paden en modules voor uw NGINX-build kiest. Gebruik deze opdracht:

./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --with-pcre  --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_image_filter_module=dynamic --modules-path=/etc/nginx/modules --with-http_v2_module --with-http_v3_module --with-stream=dynamic --with-http_addition_module --with-http_mp4_module

Dit is wat de opties betekenen:

  • –prefix=/var/www/html: Stelt de hoofdmap voor de installatie in.
  • –sbin-path=/usr/sbin/nginx: Stelt in waar het nginx-programma naartoe gaat.
  • –conf-path=/etc/nginx/nginx.conf: Kiest de hoofdlocatie van het NGINX-configuratiebestand.
  • –http-log-path=/var/log/nginx/access.log en –error-log-path=/var/log/nginx/error.log: Bepaal waar de logbestanden zich bevinden.
  • –with-pcre: Schakelt PCRE (Perl Compatible Regular Expressions) in voor configuratiebestanden.
  • –lock-path=/var/lock/nginx.lock en –pid-path=/var/run/nginx.pid: Stel locaties in voor de lock- en pid-bestanden.
  • –with-http_ssl_module: Activeert de SSL-module voor beveiligde webverbindingen.
  • –with-http_image_filter_module=dynamic: Schakelt de afbeeldingsfiltermodule in.
  • –modules-path=/etc/nginx/modules: definieert waar dynamische modules naartoe gaan.
  • –with-http_v2_module: Schakelt de HTTP/2-module in.
  • –with-stream=dynamic: Activeert de streammodule dynamisch.
  • –with-http_addition_module en –with-http_mp4_module: Schakel de toevoegings- en MP4-modules in.

Als u de HTTP/3-module niet wilt gebruiken, kunt u –with-http_v3_module weglaten. HTTP/3 biedt sneller en betrouwbaarder surfen op het internet.

Stap 6: NGINX installeren (NGINX compileren en bouwen)

Na het configureren van de opties voor het bouwen van NGINX vanaf de broncode, is het tijd om NGINX te compileren en te installeren. Dit is een proces in twee stappen:

Eerst de make commando compileert de NGINX-broncode met behulp van de opties die zijn opgegeven in de ./configure script. Hierdoor wordt het binaire uitvoerbare NGINX-bestand gemaakt:

make

Ten tweede, de sudo make install opdracht installeert het binaire NGINX-bestand, de configuratiebestanden en andere bestanden in het voorvoegselpad dat is opgegeven in het ./configure script:

sudo make install

Na installatie bevindt NGINX zich in de sbin directory van het voorvoegselpad.

Stap 7: Maak NGINX Systemd-service

Na het bouwen en compileren van NGINX vanaf de bron, is het creëren van een systeemproces om de NGINX-service op uw systeem te beheren van cruciaal belang. Hier is hoe:

Maak een nieuw systemd-servicebestand:

sudo nano /etc/systemd/system/nginx.service

Voeg de volgende inhoud toe aan het bestand:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Laad de systemd-daemon opnieuw:

sudo systemctl daemon-reload

Start de NGINX-service:

sudo systemctl start nginx

Schakel de NGINX-service in om automatisch te starten bij het opstarten:

sudo systemctl enable nginx

Zorg er ten slotte voor dat de service is geactiveerd:

systemctl status nginx

Stap 8: Test NGINX

Om te verifiëren dat NGINX correct werkt, opent u een webbrowser en navigeert u naar de testpagina met behulp van uw lokale host- of server-IP-adres:

http://localhost

Of vervangen localhost met het IP-adres van uw server.

Aanvullende opdrachten en tips

Compileer NGINX met aanvullende modules

U kunt de functionaliteit van NGINX verbeteren door het te compileren met extra modules. Om bijvoorbeeld de Nginx HTTP-pushmodule te gebruiken, gebruikt u de vlag –add-module tijdens de configuratie van NGINX:

./configure --add-module=/path/to/nginx-http-push-module
make
sudo make install

Conclusie

Door deze stappen te volgen, kunt u met succes NGINX vanaf de broncode op uw Debian-systeem bouwen en installeren. Deze aanpak geeft u meer flexibiliteit en controle over uw NGINX-installatie, waardoor u deze kunt afstemmen op uw specifieke vereisten. Controleer regelmatig op updates en compileer indien nodig opnieuw om de veiligheid en prestaties te behouden. Geniet van de verbeterde mogelijkheden en aanpassingsopties die het bouwen van NGINX vanuit de bron biedt.

Joshua James
Volg mij
Laatste berichten van Joshua James (alles zien)

Plaats een reactie