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.