Sådan bygger du NGINX fra kilde på Ubuntu 24.04/22.04/20.04

At bygge NGINX fra kilden på Ubuntu tilbyder en skræddersyet tilgang til konfiguration af din webserver, hvilket sikrer optimal ydeevne og kompatibilitet med dit specifikke miljø. I modsætning til binære installationer giver kompilering af NGINX fra kilden fleksibiliteten til at aktivere eller deaktivere specifikke moduler, integrere tredjepartsmoduler og anvende brugerdefinerede patches. Denne proces giver mulighed for en dybere forståelse af serverens indre funktion og muliggør en mere sikker og effektiv konfiguration skræddersyet til dine unikke krav.

Vigtigste højdepunkter ved at bygge Nginx:

  • Brugerdefineret konfiguration: Skræddersy NGINX til at opfylde dine behov ved kun at aktivere de nødvendige moduler.
  • Forbedret ydeevne: Optimer NGINX til din hardware og arbejdsbyrde, hvilket potentielt forbedrer responstider og ressourceforbrug.
  • Avancerede egenskaber: Få adgang til avancerede funktioner og moduler, der muligvis ikke er tilgængelige i prækompilerede pakker.
  • Sikkerhed: Anvend specifikke patches og kompiler med sikkerhedshærdede muligheder for en mere sikker implementering.
  • Læringsmulighed: Få indgående kendskab til NGINX's arkitektur og konfigurationsmuligheder.
  • Styring: Bevar fuld kontrol over serverens opsætning, inklusive mappestier og konfigurationsfiler.
  • Opdateret: Byg den seneste version af NGINX, få adgang til nye funktioner og fejlrettelser forud for pakkeudgivelser.
  • Fællesskabsstøtte: Udnyt den omfattende viden og ressourcer i open source-fællesskabet til fejlfinding og forbedringer.

Med disse fordele i tankerne er bygning af NGINX fra en kilde en kraftfuld tilgang for dem, der søger maksimal kontrol og effektivitet fra deres webserver.

Lad os dykke ned i de detaljerede trin til at bygge NGINX fra kilde på Ubuntu.

Installer indledende pakker til NGINX Source på Ubuntu

Opdater Ubuntu, før du bygger NGINX

For at starte NGINX-kildeinstallationen på Ubuntu, start med at opdatere og opgradere dit system. Dette trin sikrer, at alle dit systems pakker er aktuelle, hvilket minimerer potentielle kompatibilitetsproblemer.

Udfør følgende kommando i din terminal for at opdatere og opgradere dit system:

sudo apt update && sudo apt upgrade

Installation af afhængigheder til NGINX-kompilering

Med dit system opdateret involverer det næste trin at installere de nødvendige afhængigheder til NGINX-kompilering. Disse pakker, såsom compilere og biblioteker, er afgørende for at bygge NGINX fra kilden.

For at installere de nødvendige afhængigheder skal du køre følgende kommando:

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

Kommandoen installerer flere vigtige pakker, der hver tjener en specifik rolle i NGINX-kompileringsprocessen:

  • build-essential: Inkluderer GCC-kompileren og relaterede værktøjer, som er uundværlige til at kompilere software fra kilden.
  • libpcre3-dev: Giver biblioteker til Perl 5-kompatible regulære udtryksunderstøttelse, afgørende for URL-omskrivning og andre NGINX-funktioner.
  • libssl-dev: Tilbyder biblioteker til SSL/TLS-understøttelse, hvilket sikrer sikker datatransmission, et nøgleaspekt af moderne webtjenester.
  • zlib1g-dev: Denne pakke er afgørende for komprimeringsfunktioner, og hjælper med at forbedre NGINX's ydeevne og hastighed.
  • libgd-dev: Understøtter billedbehandlingsfunktioner, hvilket gør det muligt for NGINX at udføre billedmanipulationer direkte.

Download NGINX kildekode på Ubuntu

Valg af NGINX-version

Efter installation af de nødvendige afhængigheder skal du fortsætte med at downloade NGINX-kildekoden. Besøg NGINX-webstedet for at vælge den version, der passer til dine behov. Du kan vælge mellem mainline, stabil eller en hvilken som helst specifik version. Mainline-versioner opdateres regelmæssigt med de nyeste funktioner og forbedringer, mens stabile versioner fokuserer på gennemtestet stabilitet til produktionsmiljøer.

Download af kildekoden

Til download den valgte version af NGINX, brug wget kommando. Denne kommando lader dig downloade filer direkte fra internettet til din server. For at downloade mainline version 1.23.3 som eksempel, skal du bruge følgende kommando:

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

Bemærk: Erstat versionsnummeret med den seneste eller foretrukne version, du ønsker at installere. Tjek altid NGINX-webstedet for de nyeste versioner for at drage fordel af de nyeste funktioner og sikkerhedsopdateringer. Husk, at mainline-versioner kan opdateres med få måneders mellemrum, så det er afgørende at holde sig orienteret om de seneste udgivelser for at opretholde et sikkert og effektivt servermiljø.

Udpak NGINX kildekode

Udpakning af NGINX Tarball

Når du har downloadet NGINX-kildekoden, er næste trin at udpakke filerne fra tarballen. Denne proces involverer dekomprimering af tar.gz-filen for at få adgang til NGINX-kildekoden. Brug tar kommando med de relevante flag for at udtrække indholdet.

Sådan gør du det ved at tage vores eksempelversion, NGINX 1.23.3:

tar -xzvf nginx-1.23.3.tar.gz

Denne kommando opdeles som følger:

  • x: Udpak filerne.
  • z: Udkomprimer arkivet ved hjælp af gzip.
  • v: Udførlig tilstand for at vise ekstraktionsprocessen.
  • f: Angiv filnavnet på arkivet.

Skift til NGINX Directory

Efter udpakning af filerne skal du skifte til den mappe, hvor NGINX-kilden er blevet pakket ud. Dette trin er afgørende for at begynde kompileringsprocessen.

Brug cd kommando for at flytte ind i det udpakkede NGINX-bibliotek:

cd nginx-1.23.3

Konfigurer byggeindstillinger til NGINX på Ubuntu

Opsætning af konfigurationsmuligheder

Når du forbereder at bygge NGINX fra kilden, skræddersyr konfiguration af dine byggemuligheder installationen til dine specifikke behov. Brug den ./configure kommando til at indstille stier og aktivere forskellige moduler. Her er en kommando, der inkorporerer almindelige konfigurationsmuligheder og stier:

./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-stream=dynamic --with-http_addition_module --with-http_mp4_module

Denne kommando angiver forskellige stier til NGINX-filer og inkluderer moduler, der forbedrer NGINX's funktionalitet, såsom SSL-understøttelse og HTTP/2-behandling.

Tilpasning af din NGINX-bygning

Når du tilpasser din NGINX build, ./configure script er et kraftfuldt værktøj, der giver mulighed for omfattende tilpasning. Sådan kan du skræddersy din NGINX-installation til at opfylde specifikke krav:

Eksempel konfigurationer

For at aktivere HTTP/2-understøttelse og integrere PCRE-biblioteket, som er afgørende for behandling af regulære udtryk i NGINX, skal du bruge følgende konfiguration:

./configure --with-http_v2_module --with-pcre

Hvis du har brug for at definere installationsmappen for NGINX, kan du indstille den ved hjælp af --prefix mulighed. For eksempel for at installere NGINX i /usr/local/nginx mappe, ville kommandoen være:

./configure --prefix=/usr/local/nginx

For at inkorporere yderligere moduler såsom ngx_cache_purge, den --add-module mulighed kommer i spil. For at inkludere dette modul vil konfigurationen se sådan ud:

./configure --add-module=/path/to/ngx_cache_purge

At inkludere ekstra biblioteker som libxslt eller libssl er ligetil med --with-XXX-module mulighed. For at inkludere disse biblioteker vil de respektive kommandoer være:

./configure --with-libxslt-module
./configure --with-openssl=/path/to/openssl

For at aktivere moduler som SSL og det rigtige IP-modul vil konfigurationskommandoerne være:

./configure --with-http_ssl_module
./configure --with-http_realip_module

Disse konfigurationer viser blot nogle få måder, du kan bruge ./configure script til at tilpasse din NGINX-build.

For en omfattende liste over alle tilgængelige muligheder kan du køre ./configure --help. Denne kommando giver detaljerede oplysninger om alle flag og muligheder, du kan bruge til at optimere din NGINX-installation.

Begynd den endelige proces for at kompilere NGINX

Kompilere NGINX

Når du har indstillet konfigurationsindstillingerne for NGINX, skal du starte kompileringsprocessen med make kommando. Denne kommando kompilerer NGINX-kildekoden baseret på de parametre, der er defineret i ./configure manuskript. Kompileringsprocessen resulterer i oprettelsen af ​​den binære eksekverbare NGINX, der typisk findes i objs vejviser.

make

Installation af NGINX

Efter kompilering af NGINX, fortsæt med installationen vha sudo make install. Denne kommando installerer NGINX binære filer, konfigurationsfiler og yderligere nødvendige filer til den angivne præfikssti. Hvis du ikke har defineret en anden placering under konfigurationen, installerer NGINX til /usr/local/nginx/ som standard.

sudo make install

Efter installationen finder du NGINX i sbin bibliotek inden for den angivne præfikssti, klar til yderligere konfiguration og brug.

Opret NGINX SystemD Service

Efter succesfuld opbygning og installation af NGINX fra kilden, er næste trin at administrere NGINX som en tjeneste ved hjælp af systemd. Dette giver dig mulighed for at starte, stoppe og genstarte NGINX som enhver anden Ubuntu-tjeneste.

Oprettelse af en SystemD-tjenestefil til NGINX

For at konfigurere en systemd service til NGINX skal du begynde med at oprette en ny servicefil:

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

Indtast følgende detaljer i denne fil, og sørg for, at du erstatter /path/to/nginx med den faktiske sti til din NGINX binære, hvis den ikke er placeret på /usr/sbin/nginx:

[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

Denne konfiguration opsætter NGINX som en tjeneste, definerer, hvordan den skal starte, stoppe og genindlæse, og sikrer, at den starter, efter netværket er online.

Genindlæser SystemD for at genkende den nye tjeneste

Når du har defineret tjenesten, skal du opdatere systemd for at genkende din nye NGINX-tjeneste:

sudo systemctl daemon-reload

Start og aktivering af NGINX Service

Med systemd-tjenesten på plads, start NGINX-tjenesten:

sudo systemctl start nginx

For at sikre, at NGINX starter automatisk ved opstart, skal du aktivere tjenesten:

sudo systemctl enable nginx

Bekræft NGINX-installationen

Test af NGINX-funktionalitet

Efter installation af NGINX er det afgørende at verificere dens funktion. Du kan få adgang til NGINX-velkomstsiden via en webbrowser. Brug din servers lokale værtsadresse eller IP-adresse til at navigere til NGINX-testsiden.

Åbn din webbrowser, og indtast følgende URL for at få adgang til NGINX-velkomstsiden ved hjælp af den lokale vært:

http://localhost

Brug af IP-adresse til verifikation

Hvis adgang til den lokale vært ikke viser NGINX-velkomstsiden, kan du bruge din servers IP-adresse i stedet. Erstatte 192.128.1.1 med din faktiske server IP-adresse:

http://192.128.1.1

Når du får adgang til disse URL'er, bør du se standard NGINX-velkomstsiden, hvilket indikerer, at NGINX er installeret og kører korrekt på din Ubuntu-server. Hvis siden ikke vises, skal du sikre dig, at NGINX kører, og at ingen firewall-regler blokerer adgangen til tjenesten.

Yderligere tips til at bygge NGINX

Kompilere NGINX med yderligere moduler

Forbedre NGINX's muligheder ved at inkludere ekstra moduler under kompileringsprocessen. For eksempel, hvis du vil tilføje NGINX HTTP push-modulet, skal du bruge --add-module flag under konfigurationstrinnet. Følg disse kommandoer for at kompilere NGINX med HTTP push-modulet:

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

Erstatte /path/to/nginx-http-push-module med den faktiske sti til det modul, du ønsker at inkludere.

Håndtering af NGINX med Systemctl-kommandoer

På Ubuntu er administration af NGINX-tjenesten ligetil med systemctl-kommandoer. Sådan styrer du NGINX-tjenesten ved hjælp af terminalen:

Start NGINX:

sudo systemctl start nginx

Stop NGINX:

sudo systemctl stop nginx

Genstart NGINX:

sudo systemctl restart nginx

Genindlæs NGINX:

sudo systemctl reload nginx

NGINX Status Check

sudo systemctl status nginx

Aktiver NGINX på System-Boot

sudo systemctl enable nginx

Deaktiver NGINX på systemstart:

sudo systemctl disable nginx

Konklusion

I denne vejledning dækkede vi, hvordan man bygger NGINX fra kilden på Ubuntu 24.04, 22.04 og 20.04, fra installation af pakker til administration af tjenesten. Denne proces giver dig mulighed for at tilpasse NGINX med ekstra moduler og styre det ved hjælp af systemctl. Hold din NGINX opdateret og konfigureret korrekt for den bedste ydeevne og sikkerhed. Eksperimenter med indstillingerne og nyd din NGINX-server på Ubuntu.

Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)