CloudSigma Tutorial: Installera Nginx på Ubuntu 18.04

När du är klar med att skriva kod för din webbplats eller webbapp behöver du den placerad på någon plats där den kan köras och leverera innehåll till dina användare. Det är här webbserverprogramvaran kommer in. En enkel Google-sökning av webbserverprogramvara ger dig en hel lista över lösningar att välja mellan.

i denna handledning är vårt fokus på Nginx; och specifikt hur du kan köra den på Ubuntu 18.04. Nginx är en av de mest populära webbserverprogramvarorna i världen. Faktiskt, det tar upp en plats i topp fem på Opensource.com ranking. Det ansvarar för att säkerställa tillgängligheten och skalbarheten hos de högsta trafikplatserna på internet. Det garanterar säkerhet och du kan använda den som en omvänd proxy. Så, hur kan du installera Nginx på Ubuntu 18.04?

förutsättningar

naturligtvis har du redan en dator som kör Ubuntu 18.0.4; och du har en icke-root-användare med sudo-privilegier. Om inte, gå över till den här länken för att ladda ner Ubuntu 18.0.4, följ sedan guiderna på den första serverinställningen med Ubuntu för att skapa ett icke-root-konto. När du har ett konto måste du logga in som en icke-root-användare, och sedan kan vi fortsätta med nästa steg.

Steg 1 – Installera Nginx

Ubuntu är baserat på Debian. För att installera deb-paket från kommandoraden kan du antingen använda apt-eller dpkg-kommandon. Vi kommer att använda apt-kommandot eftersom det är mer populärt. Apt-kommandot tillåter användare att installera paket som är tillgängliga från standardförvaren för den specifika Linux-distributionen de kör. I det här fallet har vi Nginx tillgängligt på Standardförvaren för Ubuntu 18.04, så vi kan fortsätta. Som en tumregel, nu och när du installerar något paket på en Linux-distribution, måste du först uppdatera; ange följande kommando i terminalen för att uppdatera:

sudo apt update

för att installera Nginx, ange följande kommando:

sudo apt install nginx

följ instruktionerna och Nginx installeras på din server tillsammans med nödvändiga beroenden.

steg 2-Justera brandväggen

standard brandväggskonfigurationsverktyget för Ubuntu är UFW. UFW står för okomplicerad brandvägg och den är utvecklad för att underlätta Brandväggskonfigurationen. Som standard registrerar Nginx sig själv som en tjänst med UFW efter installationen, vilket gör det lättare för Nginx access-konfiguration. Aktivera först UFW genom att ange följande kommando:

sudo ufw enable

följande kommando listar applikationskonfigurationen som UFW tillåter:

sudo ufw app list

Här är en screengrab av hur din terminal kan se ut:

Nginx 1

den visar 3 profiler tillgängliga för Nginx. De beskrivs nedan:

  • Nginx Full – det öppnar både port 80 och 443. Port 80 är för normal / okrypterad trafik, dvs http. Port 443 är för TLS / SSL-krypterad trafik. det vill säga https.
  • nginx HTTP-det öppnar endast port 80.
  • Nginx HTTPS-det öppnar endast port 443.

som en rekommendation bör du bara aktivera profilen som tillåter den trafik du har konfigurerat för din webbapplikation. I det här fallet går vi med Nginx HTTP (port 80) eftersom vi inte har konfigurerat SSL. Följande kommando aktiverar detta:

sudo ufw allow 'Nginx HTTP'sudo ufw allow 'OpenSSH'

för att verifiera ändringen anger du följande kommando:

sudo ufw status

din terminal ska visa något som liknar screengrab nedan. Observera att HTTP-trafiken är tillåten överallt:

Nginx 1

steg 3 – Kontrollera din webbserver

När du har installerat Nginx på Ubuntu 18.04 startar tjänsten automatiskt. Du kan testa detta genom att ange följande kommando i din terminal:

systemctl status nginx

din terminal ska visa något liknande:

Nginx 1

detta visar att tjänsten startades automatiskt och att den körs. Som du redan vet är huvudsyftet med serverprogramvara att servera innehåll. För att testa detta ändamål måste du begära en sida. Du kan göra detta genom att komma åt din servers IP-adress från webbläsaren, som ska visa standard nginx målsida. Om du inte känner till din servers IP-adress, nedan finns några kommandon som hjälper dig att få det:

ip addr show ens3 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

nedan är ett annat kommando som du kan använda. Det ger dig den offentliga IP-adressen sett från platser på internet:

curl -4 icanhazip.com

det första kommandot får du en adress som visas i terminalen nedan. Kopiera sedan och testa den i din webbläsare:

din webbläsare laddar standard nginx-sidan som ser ut som följande skärmdump. Det visar att din nginx-server faktiskt körs:

Nginx 1

steg 4-Grundläggande Nginx-Hanteringskommandon

Du har redan sett kommandot som kontrollerar statusen för Nginx:

systemctl status nginx

Nu när vi har servern igång, här är några fler kommandon du bör hålla till hands för att hantera nginx-tjänsten. Dessa kommandon fungerar inte bara på Ubuntu 18.04 utan också på alla Linux-distributioner.

för att stoppa servern anger du följande kommando:

sudo systemctl stop nginx

för att starta servern anger du följande kommando:

sudo systemctl start nginx

När du gör betydande ändringar som att byta portar eller gränssnitt måste du starta om webbservern. Kommandot nedan startar om servern:

sudo systemctl restart nginx

När du gör mindre konfigurationsändringar som att redigera serverblock kan Nginx ladda om utan att släppa anslutningar. Här är kommandot att ladda om:

sudo systemctl reload nginx

Nginx startar automatiskt servern när ditt Ubuntu OS startar upp. Om du vill ändra den här inställningen kan du dock inaktivera tjänsten genom att ange kommandot nedan:

sudo systemctl disable nginx

och du kan aktivera tjänsten automatiskt när du startar datorn nästa gång genom att ange:

sudo systemctl enable nginx

Steg 5 – Ställa in Serverblock

Du kanske vill vara värd för flera webbplatser (domäner) på en webbserver. Serverblock skulle hjälpa dig att uppnå detta. Om du har använt Apache tidigare kan serverblock i Nginx jämföras med Apache Vhosts. Ur lådan kommer Nginx med ett serverblock konfigurerat att köras från katalogen /var/www/html, den som laddade standard nginx-sidan i ett avsnitt ovan. Detta serverblock är bra när du kör en enda webbplats. Att köra många webbplatser kommer dock att vara ett problem.

vi vill skapa en annan webbplats på samma server och kalla den samplesite.com (detta är bara ett exempel, Du bör ersätta det med ditt eget domännamn).

inuti/ var / www / katalogen, skapa en annan katalog för samplesite.com. lämna standard / var/www / html för att servera förfrågningar som inte matchar någon annan webbplats. Kommandot nedan skapar katalogen för samplesite.com som vi har beskrivit. – P-flaggan är att säkerställa att kommandot skapar nödvändiga överordnade kataloger:

sudo mkdir -p /var/www/samplesite.com/html

för att tillåta åtkomst till katalogen måste du tilldela äganderätten till $USER environment-variabeln:

sudo chown -R $USER:$USER /var/www/samplesite.com/html

för att kontrollera att behörigheterna för dina webbrötter är korrekta anger du följande kommando:

sudo chmod -R 755 /var/www/samplesite.com

låt sedan försök att skapa ett enkelt index.html i samplesite.com katalog. Du kan öppna nano editor som:

nano /var/www/samplesite.com/html/index.html

kommandot öppnar en redaktör i din terminal, Lägg till i följande kod:

<html><head><title>Welcome to samplesite.com!</title></head><body><h1>Success! The samplesite.com server block is running fine!</h1></body></html>

skriv Ctrl + O och tryck sedan på Enter för att spara filen. Skriv Ctrl + X för att stänga redigeraren.

därefter kan du skapa serverblocket. I stället för att redigera och röra standardkonfigurationsfilen rekommenderas att du gör en ny på / etc/nginx/sites-available/samplesite.com. ange följande kommando för att öppna nano-redigeraren:

sudo nano /etc/nginx/sites-available/samplesite.com

i redigeraren anger du följande kod, modifierad för katalogen du skapade. Notera rotnamnet och servernamnet matchar vår katalog och domänen vi vill servera:

server { listen IP_ADDRESS:80; listen :80; root /var/www/samplesite.com/html; index index.html index.htm index.nginx-debian.html; server_name samplesite.com samplesite.com; location / { try_files $uri $uri/ =404; }}

spara sedan och stäng filen.

Nginx läser konfigurationsfiler från sites-enabled directory, så du måste skapa en symbolisk länk från ditt nya serverblock till sites-enabled directory. Följande kommando gör det:

sudo ln -s /etc/nginx/sites-available/samplesite.com /etc/nginx/sites-enabled/ 

Du har nu två serverblock som kan betjäna två webbplatser på en Nginx-server.

följande kommando svarar på förfrågningar på domänerna samplesite.com och www.samplesite.com.

curl samplesite.com

och standard kommer att svara på alla förfrågningar som slår port 80 som inte matchar något av de två serverblocken:din nginx-server kan sannolikt uppleva ett hash-hinkminnesproblem när du lägger till ytterligare serverblock. För att undvika detta bör du justera en enda fil i nginx.conf-fil. Öppna sedan filen med nano-redigeraren:

sudo nano /etc/nginx/nginx.conf

hitta sedan direktivet: server_names_hash_bucket_size och ta bort # – symbolen för att avkoda den, så det ser ut så här:

http { server_names_hash_bucket_size 64;}

spara och stäng sedan filen.

för att testa att alla dina nginx-filer inte har några fel bör du ange följande kommando:

sudo nginx -t

om allt är bra bör du se något så här:

för att konfigurationsändringarna ska träda i kraft måste du först starta nginx-servern med kommandot nedan:

sudo systemctl restart nginx

ange nu domänen så ska du se HTML-sidan vi skapade.

steg 6-Viktiga Nginx-filer och kataloger som du borde veta

  • huvudinnehåll katalog

–- / var / www / html: Standard nginx-sidan lagras i den här katalogen. Det är det faktiska innehållet du ser när du öppnar din serverns IP-adress. Du kan ändra detta beteende genom att ändra nginx konfigurationsfiler.

  • nginx konfigurationskataloger

–/etc / nginx: huvudkatalogen som innehåller alla nginx konfigurationsfiler.

–/etc/nginx / nginx.conf: den huvudsakliga nginx-konfigurationsfilen som kan ändras för att göra globala ändringar på Nginx-servern.

– / etc/nginx/ sites-available/: det är katalogen där du lagrar serverblock per webbplats. Alla serverblock finns i den här mappen. En symbolisk länk länkar dem till den webbplatsaktiverade katalogen. Om vi listar innehållet i den här regissören bör vi se serverblocket vi skapade också standard nginx serverblock.

–/etc/nginx/ sites-enabled/: aktivera serverblock per plats finns i den här katalogen. De är länkade till de faktiska konfigurationsfilerna i katalogen sites-available.
– /etc/nginx/snippets/: katalogen där du lagrar konfigurationsavsnitt som kan inkluderas i andra konfigurationer – t. ex. repetitiva konfigurationsavsnitt.

  • serverloggar

–/var/log/nginx / access.logg: den här filen registrerar varje begäran som träffar din server, såvida du inte har konfigurerat Nginx för att lagra i en annan fil eller göra något annat.
– /var/log/nginx/fel.log: den här filen registrerar alla nginx-fel. Det är här du kommer att felsöka när din server inte körs som förväntat.

slutsats

Vi har kommit till slutet av resan. Du har installerat Nginx på Ubuntu 18.04, konfigurerade brandväggar, konfigurerade serverblock och säkerställde att webbplatserna är tillgängliga i din webbläsare. Grattis! Nu är det upp till dig att ta reda på vilket innehåll du vill servera till dina användare.

Lycklig datoranvändning!

Related Posts

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *