Hur man bygger NGINX från källan på Debian 12, 11 eller 10

Att bygga NGINX från källan på Debian 12, 11 eller 10 erbjuder flera fördelar och potentiella nackdelar. Genom att kompilera från källan kan du anpassa NGINX med specifika moduler och optimeringar skräddarsydda för dina behov, vilket ger större kontroll över byggprocessen. Den här metoden kan också säkerställa att du har de senaste funktionerna och säkerhetskorrigeringarna innan de är tillgängliga i de officiella arkiven.

Det finns dock några potentiella nackdelar att överväga. Att bygga från källan kräver mer tid och ansträngning jämfört med att installera förkompilerade paket. Det kräver också en god förståelse för byggprocessen och beroenden. Dessutom kan hanteringen av uppdateringar vara mer komplex, eftersom du måste manuellt kompilera om NGINX för varje ny version.

Den här guiden kommer att visa hur man bygger NGINX från källkod på Debian 12, 11 eller 10, och täcker de nödvändiga stegen och kommandona för att säkerställa en framgångsrik installation.

Steg 1: Uppdatera och uppgradera Debian

Innan du startar installationen, uppdatera ditt Debiansystem. Använd dessa kommandon i terminalen:

sudo apt update
sudo apt upgrade

Dessa kommandon hämtar listan över tillgängliga uppdateringar och uppgraderar sedan ditt system, vilket säkerställer att du arbetar med den senaste programvaran.

Steg 2: Installera nödvändiga beroenden

Installera de nödvändiga initiala paketen för att kompilera Nginx med följande kommando:

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

Steg 3: Ladda ner NGINX källkod

Med de nödvändiga beroenden installerade är nästa steg att ladda ner NGINX-källkoden. Besök NGINX webbplats och välj den version som bäst passar dina behov. Du kan välja den senaste versionen av mainline, stabil eller annan.

Använd kommandot wget för att ladda ner din valda version:

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

Ersätt xxx med versionsnumret. Till exempel, för att ladda ner den senaste huvudversionen, 1.25.1, använd följande:

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

Obs: Kopiera inte kommandot ovan; detta är bara ett exempel. Se till att du hämtar den senaste stabila eller mainline-nedladdningslänken.

Steg 4: Extrahera källkoden

Källkoden kommer i en komprimerad tarball. Extrahera det med detta kommando:

tar -xzvf nginx-1.25.1.tar.gz

Navigera sedan till den nyligen extraherade katalogen:

cd nginx-1.25.1

Steg 5: Konfigurera NGINX-alternativ

För detta steg, ställ in NGINX-alternativen från källan. Detta innebär att du väljer sökvägar och moduler för ditt NGINX-bygge. Använd detta kommando:

./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

Så här betyder alternativen:

  • –prefix=/var/www/html: Ställer in rotkatalogen för installationen.
  • –sbin-path=/usr/sbin/nginx: Anger var nginx-programmet går.
  • –conf-path=/etc/nginx/nginx.conf: Väljer huvudplatsen för NGINX-konfigurationsfilen.
  • –http-log-path=/var/log/nginx/access.log och –error-log-path=/var/log/nginx/error.log: Definiera var loggfilerna finns.
  • –with-pcre: Slår på PCRE (Perl Compatible Regular Expressions) för konfigurationsfiler.
  • –lock-path=/var/lock/nginx.lock och –pid-path=/var/run/nginx.pid: Ställ in platser för lås- och pid-filerna.
  • –with-http_ssl_module: Aktiverar SSL-modulen för säkra webbanslutningar.
  • –with-http_image_filter_module=dynamic: Slår på bildfiltermodulen.
  • –modules-path=/etc/nginx/modules: Definierar vart dynamiska moduler går.
  • –with-http_v2_module: Slår på HTTP/2-modulen.
  • –with-stream=dynamic: Aktiverar streammodulen dynamiskt.
  • –with-http_addition_module och –with-http_mp4_module: Slå på tilläggs- och MP4-modulerna.

Om du inte vill använda HTTP/3-modulen är det bara att utelämna –with-http_v3_module. HTTP/3 erbjuder snabbare och mer pålitlig webbsurfning.

Steg 6: Installera NGINX (kompilera och bygg NGINX)

Efter att ha konfigurerat alternativen för att bygga NGINX från källan är det dags att kompilera och installera NGINX. Detta är en process i två steg:

Först, den make kommandot kompilerar NGINX-källkoden med de alternativ som anges i ./configure manus. Detta skapar den binära körbara NGINX:

make

För det andra sudo make install kommandot installerar NGINX binär, konfigurationsfiler och andra filer till prefixsökvägen som anges i ./configure manus:

sudo make install

Efter installationen kommer NGINX att finnas i sbin katalogen för prefixsökvägen.

Steg 7: Skapa NGINX Systemd Service

Efter att ha byggt och kompilerat NGINX från källan är det avgörande att skapa en systemprocess för att hantera NGINX-tjänsten på ditt system. Här är hur:

Skapa en ny systemd servicefil:

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

Lägg till följande innehåll i filen:

[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

Ladda om systemd-demonen:

sudo systemctl daemon-reload

Starta NGINX-tjänsten:

sudo systemctl start nginx

Aktivera NGINX-tjänsten för att starta automatiskt vid uppstart:

sudo systemctl enable nginx

Slutligen, se till att tjänsten är aktiverad:

systemctl status nginx

Steg 8: Testa NGINX

För att verifiera att NGINX körs korrekt, öppna en webbläsare och navigera till testsidan med din lokala värd- eller server-IP-adress:

http://localhost

Eller byt ut localhost med din server IP-adress.

Ytterligare kommandon och tips

Kompilera NGINX med ytterligare moduler

Du kan förbättra NGINX:s funktionalitet genom att kompilera den med ytterligare moduler. För att till exempel använda Nginx HTTP push-modulen, använd flaggan –add-module under konfigurationen av NGINX:

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

Slutsats

Genom att följa dessa steg kan du framgångsrikt bygga och installera NGINX från källkod på ditt Debiansystem. Detta tillvägagångssätt ger dig större flexibilitet och kontroll över din NGINX-installation, vilket gör att du kan skräddarsy den efter dina specifika krav. Kontrollera regelbundet efter uppdateringar och kompilera om vid behov för att upprätthålla säkerhet och prestanda. Njut av de förbättrade funktionerna och anpassningsalternativen som att bygga NGINX från källan ger.

Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)

Lämna en kommentar