Kako instalirati Nginx s Let's Encrypt TLS/SSL na Debian 11 Bullseye

NGINX je besplatni softver HTTP poslužitelja otvorenog koda. Osim svojih mogućnosti HTTP poslužitelja, NGINX također može funkcionirati kao proxy poslužitelj za e-poštu (IMAP, POP3 i SMTP) te obrnuti proxy i balansator opterećenja za HTTP, TCP i UDP poslužitelje. Cilj iza NGINX-a bio je stvoriti najbrži web poslužitelj na svijetu, a održavanje te izvrsnosti i dalje je središnji cilj Nginx projekta. NGINX dosljedno pobjeđuje Apache i druge poslužitelje u mjerilima mjerenja performansi web poslužitelja i sada je najpopularniji korišteni web poslužitelj prema W3Techu.

U sljedećem vodiču naučit ćete kako instalirati Nginx na Debian 11 Bullseye koristeći zadano Debian spremište ili alternativno spremište Ondřeja Surýa s besplatnim TLS/SSL certifikatom iz Let's Encrypt.

Preduvjeti

  • Preporučeni OS: Debian 11 Bullseye
  • Korisnički račun: Korisnički račun sa sudo privilegije ili root pristup (su naredba).

Ažuriranje operativnog sustava

Ažurirajte svoje Debian 11 Bullseye operativni sustav kako biste bili sigurni da su svi postojeći paketi ažurirani:

sudo apt ažuriranje && sudo apt nadogradnja

Root ili Sudo pristup

Prema zadanim postavkama, kada kreirate svoj račun pri pokretanju s Debianom u usporedbi s drugim distribucijama, on ne dobiva automatski status sudoers. Morate imati pristup root lozinka koristiti naredbu su ili posjetite naš vodič na Kako dodati korisnika u Sudoers na Debianu.


Oglas


Instalirajte Nginx

Metoda 1. Instalirajte Nginx Stable iz Debian repozitorija

Prva metoda je instaliranje Nginxa iz Debianovih zadanih spremišta, a ove su verzije dokazano stabilne i sigurne. Ako trebate pokrenuti primarni web poslužitelj ili obrnuti proxy, često se preporučuje instaliranje paketa Debian repozitorija.

Da biste instalirali Nginx, pokrenite sljedeću naredbu.

sudo apt instaliraj nginx

Primjer izlaza:

Kako instalirati Nginx s Let's Encrypt TLS/SSL na Debian 11 Bullseye

Tip "Y", zatim pritisnite "ENTER TIPKA" za nastavak instalacije.

Zatim provjerite verziju verzije i je li instalacija bila uspješna.

sudo nginx -v

Primjer izlaza:

Verzija nginxa: nginx/1.18.0

Metoda 2. Instalirajte najnoviji Nginx Stable ili Mainline iz Repozitorija Ondřej Surý

Alternativno, umjesto da instalirate zadanu Nginx stabilnu verziju iz Debian 11 spremišta, možete instalirati ili Nginx Stable ili Mainline koristeći spremište Ondřeja Surýa, PHP održavatelja za Debian.

Za uvoz glavnog repozitorija:

curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x

Za uvoz stabilnog spremišta:

curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x

Ažurirajte svoje spremište tako da odražava novu promjenu:

sudo apt ažuriranje

Sada kada ste instalirali Nginx spremište i ažurirali popis spremišta, instalirajte Nginx sa sljedećim:

sudo apt install nginx-core nginx-common nginx nginx-full

Primjer izlaza:

Kako instalirati Nginx s Let's Encrypt TLS/SSL na Debian 11 Bullseye

Upišite "Y”, zatim pritisnite tipku "ENTER TIPKA" za nastavak i dovršetak instalacije.

Sada provjerite je li najnoviji Nginx iz spremišta Ondřej Surý instaliran pomoću naredba politike apt-cache. Napomena, tutorial primjer instaliran Nginx Mainline:

apt-cache politika nginx

Primjer izlaza za Nginx glavna linija:

Kako instalirati Nginx s Let's Encrypt TLS/SSL na Debian 11 Bullseye

Imajte na umu da se od vas može tražiti da zadržite ili zamijenite postojeće /etc/nginx/nginx.conf konfiguracijsku datoteku tijekom instalacije. Preporuča se zadržati svoju trenutnu konfiguracijsku datoteku pritiskom na (n). Kopija će se napraviti bez obzira na verziju održavatelja, a to također možete provjeriti u budućnosti.

Primijetit ćete da će u ovoj verziji biti dostupni dodatni moduli, a posebno podrška za brotli. Instalirati brotli, slijedite dolje navedene korake.

Otvorite svoje nginx.conf konfiguracijska datoteka:

nano /etc/nginx/nginx.conf

Sada dodajte dodatne retke prije u HTTP{} odjeljak:

brotli on; brotli_comp_level 6; brotli_static uključen; brotli_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype application/x-font-ttf application/x-javascript application/xhtml+xml application/xml font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon image/x-icon image/x-win-bitmap text/css text/javascript tekst/obični tekst/xml;

The brotli_comp_level može se postaviti između 1 (najniže) i 11 (najviše). Obično većina poslužitelja nalazi se u sredini, ali ako je vaš poslužitelj čudovište, postavite na 11 i pratite razine korištenja CPU-a.

Zatim testirajte kako biste bili sigurni da promjene rade ispravno prije nego što ih objavite:

sudo nginx -t

Ako promjene rade ispravno, trebali biste vidjeti sljedeće:

nginx: konfiguracijska datoteka /etc/nginx/nginx.conf sintaksa je u redu nginx: konfiguracijska datoteka /etc/nginx/nginx.conf test je uspješan

Sada izvršite promjene uživo ponovnim pokretanjem poslužitelja:

sudo systemctl ponovno pokrenite nginx
systemctl status nginx

Primjer izlaza:

Kako instalirati Nginx s Let's Encrypt TLS/SSL na Debian 11 Bullseye

Izborno. UFW konfiguracija

Prema zadanim postavkama, UFW nije instaliran na Debian 11 Bullseye, za razliku od drugih distribucija kao što je Ubuntu. Međutim, ako koristite UFW ili želite jasniji prikaz pokretanja vatrozida, koristite informacije u nastavku da biste konfigurirali UFW za Nginx.

Da biste instalirali UFW, koristite sljedeću naredbu.

sudo apt install ufw -y

Zatim omogućite UFW sljedećom naredbom.

sudo ufw omogućiti

Prema zadanim postavkama, sve dolazne veze su sada blokirane, a sve odlazne su dopuštene.

Zatim saznajte koje ste aplikacije instalirali unosom sljedećeg.

sudo ufw popis aplikacija

Primjer izlaza (imajte na umu da će se pojaviti i veliki popis drugih aplikacija):

 Dostupne aplikacije: Nginx Full Nginx HTTP Nginx HTTPS

Zatim možete omogućiti Nginx u HTTP (port 80), HTTPS (port 443) ili Full, uključujući sve opcije.

HTTP (port 80):

sudo ufw dopusti 'Nginx HTTP'

HTTP (port 443):

sudo ufw dopusti 'Nginx HTTPS'

HTTP & HTTPS (pun):

sudo ufw dopusti 'Nginx FULL'

u tutorialu, "Nginx (pun)" bila omogućena.

Primjer izlaza:

 Ažurirana pravila Ažurirana pravila (v6)

Potvrdite da su pravila vatrozida aktivna sljedećom naredbom.

sudo ufw status

Vidjet ćete pravila navedena u izlazu.

 Status: aktivan Do radnje od -- ------ ---- Nginx Full ALOW Anywhere Nginx Full (v6) ALLOW Anywhere (v6) 

Nakon što je UFW konfiguriran, provjerite možete li vidjeti Nginx odredišnu stranicu u svom internetskom pregledniku.

http://ip_vaš_poslužitelj

Ako sve radi dobro, trebali biste doći na sljedeću stranicu:

Kako instalirati Nginx s Let's Encrypt TLS/SSL na Debian 11 Bullseye

Oglas


Konfigurirajte Nginx poslužitelj

Morat ćete imati spremnu IP adresu poslužitelja za postavljanje. Najlakši način da to učinite je sljedećim.

Pronađite IP adresu poslužitelja

Morat ćete imati spremnu IP adresu poslužitelja za postavljanje. Najlakši način da to učinite je sljedećim.

curl -4 icanhazip.com

Primjer izlaza:

XXX.XXX.XXX.XXX IP adresa

Postavite izvorni direktorij web-mjesta

Nginx blokovi poslužitelja (slično virtualnim hostovima u Apacheu) mogu enkapsulirati detalje konfiguracije i ugostiti više od jedne domene s jednog poslužitelja. U tutorialu ćete postaviti domenu pod nazivom primjer.com, ali trebao bi zamijenite ovo imenom svoje domene.

Kada instalirate Nginx, on se kreira s unaprijed instaliranim www direktorijem. Lokacija se nalazi na /var/www/html/.

Prvo stvorite imenik za primjer.com, kako slijedi, koristeći oznaku "-p" za izradu svih potrebnih roditeljskih direktorija:

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

Drugo, morat ćete dodijeliti vlasnika imenika.

sudo chown -R $USER:$USER /var/www/your_domain/html

Treće, dodijelite dopuštenja direktoriju, tako da vlasnik čita, piše i izvršava datoteke dok daje dopuštenja samo za čitanje i izvršavanje grupama i drugima. Možete unijeti sljedeću naredbu:

sudo chmod -R 755 /var/www/vaša_domena

Postavite testnu HTML stranicu

Četvrto, stvorite testnu stranicu koju ćete koristiti da potvrdite da vaš Nginx poslužitelj radi.

nano /var/www/your_domain/html/index.html

Unutar nano uređivača i nove datoteke koju ste stvorili. Unesite sljedeće.

<html>
 <head>
  <title>Dobrodošli na svoju_domenu!</title>
 </head>
 <body>
   <h1>Uspjeh! Blok poslužitelja your_domain radi!</h1>
 </body>
</html>

Spremite datoteku CTRL+O, zatim izađi CTRL+X.

Napravite blok poslužitelja Nginx

Sada ćete stvoriti blok poslužitelja za svoju web stranicu. Napravit ćemo novi blok poslužitelja na sljedeći način.

sudo nano /etc/nginx/sites-available/your_domain.conf

Sljedeći primjer koda možete zalijepiti u blok. Ovo je samo jedan Primjer samo za HTTP za osnovno ispitivanje.

poslužitelj { slušati 80; slušaj [::]:80; root /var/www/your_domain/html; indeks index.html index.htm index.nginx-debian.html; server_name your_domain www.your_domain; lokacija / { try_files $uri $uri/ =404; } }

Primjer pokazuje da vaš poslužitelj osluškuje dva imena poslužitelja, "vaša_domena" na luci 80.

Morat ćete promijeniti korijenski direktorij u ime/lokaciju korijenskog direktorija koji ste stvorili.

Omogućeno blokiranje Nginx poslužitelja

Da biste omogućili blokove Nginx poslužitelja, morate povezati konfiguracijske datoteke sa dostupnih web-mjesta sa web-mjestima s omogućenim u vašem Nginx direktoriju. To se može učiniti naredbom ln -s na sljedeći način.

sudo ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/

Konačna konfiguracija i probni rad

U završnoj fazi, morat ćete otvoriti zadani nginx.conf datoteka.

sudo nano /etc/nginx/nginx.conf

I dekomentirajte sljedeći redak.

server_names_hash_bucket_size 64;

Veličina hash bucketa naziva poslužitelja se mijenja jer ponekad nastaju problemi zbog dodavanja dodatnih poslužitelja.

Zatim testirajte svoj Nginx kako biste bili sigurni da radi prije pravilnog ponovnog pokretanja.

sudo nginx -t

Izlaz bi trebao biti ako nema pogrešaka u sintaksi:

nginx: konfiguracijska datoteka /etc/nginx/nginx.conf sintaksa je u redu nginx: konfiguracijska datoteka /etc/nginx/nginx.conf test je uspješan

Ako imate sljedeći ok izlaz, ponovno pokrenite Nginx poslužitelj kako bi se promjene izvršile.

sudo systemctl ponovno pokrenite nginx

Sada otvorite svoj internetski preglednik i upišite naziv domene poslužitelja. Trebali biste vidjeti da je vaš blok poslužitelja aktivan.

Osigurajte Nginx s Let's Encrypt SSL Free certifikatom

U idealnom slučaju, željeli biste pokrenuti svoj Nginx HTTPS pomoću SSL certifikata. Najbolji način da to učinite je korištenje Hajdemo šifrirati, besplatno, automatizirano i otvoreno certifikacijsko tijelo koje vodi neprofitna grupa za istraživanje internetske sigurnosti (ISRG).

Prvo, instalirajte certbot paket kako slijedi:

sudo apt instaliraj python3-certbot-nginx -y

Nakon instalacije, pokrenite sljedeću naredbu da započnete kreiranje vašeg certifikata:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --e-mail you@example.com -d www.example.com

Ovo je idealno postavljanje koje uključuje prisilno HTTPS 301 preusmjeravanje, zaglavlje Strict-Transport-Security i OCSP spajanje. Samo pazite da prilagodite e-poštu i naziv domene svojim zahtjevima.

Sada će vaš URL biti HTTPS://www.example.com umjesto HTTP://www.example.com.

Napomena, ako koristite stari HTTP URL, automatski će se preusmjeriti na HTTPS.


Oglas


Kako pristupiti zapisnicima Nginx poslužitelja

Nginx direktorij dnevnika

Prema zadanim postavkama, svi NGINX zapisnici pristupa/pogreška, osim ako ih niste promijenili, nalaze se u direktoriju dnevnika koji sljedeća naredba može vidjeti.

Prvo idite do direktorija dnevnika i datoteka popisa:

cd /var/log/nginx && ls -l

Trebali biste pronaći sljedeće datoteke pristupa i pogrešaka:

Dnevnik pristupa:

/var/log/nginx/access.log

Zapisnik pogrešaka:

/var/log/nginx/error.log

Za pregled zapisnika u stvarnom vremenu na vašem terminalu pomoću naredbe sudo tail -f /location/of/log path.

Primjer:

sudo tail -f /var/log/nginx/access.log

Druga je mogućnost ispisati zadnjih X redaka. Na primjer, X se zamjenjuje s 30 za ispis 30 redaka dodavanjem -n 30 zastava.

sudo rep -f /var/log/nginx/access.log -n 30

Ovo su samo neki primjeri čitanja dnevnika.

Kako konfigurirati rotiranje dnevnika Nginxa

Nginx automatski instalira rotaciju dnevnika i konfigurira je na zadanu vrijednost koja će se rotirati svakodnevno. Ove postavke možete promijeniti tako da pristupite datoteci kao što je prikazano u nastavku.

sudo nano /etc/nginx/logrotate.d/nginx

Zatim ćete vidjeti istu, ako ne i sličnu strukturu datoteke. Ovdje možete mijenjati sadržaj. Uglavnom možete promijeniti broj dnevnika za čuvanje ili prijeći s dnevnih na tjedni. Ovo bi trebalo ostaviti na zadanom, osim ako nemate posebne potrebe za evidencijom za softver kao što je praćenje fail2ban ili slično.

/var/log/nginx/*.log { daily missingok rotate 14 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotirati ako [ -d /etc/logrotate.d/httpd-prerotate]; zatim \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi \ endscript postrotate invoke-rc.d nginx rotate >/dev/null 2>&1
  završni skript }

Glavne postavke koje ćete vjerojatno htjeti promijeniti su sljedeće:

  • dnevno – Ovo se može promijeniti u Tjedno, Mjesečno. Ovo bi se trebalo održavati svakodnevno, inače će biti teško proći kroz datoteku dnevnika.
  • Rotirati 14 – Ovo je koliko zapisnika treba zadržati i ukloniti, tako da na maksimumu postoji samo 14 dnevnika, ako želite zadržati samo 7 dana vrijedne zapisnika promijenite ovo na 7.

Preporuča se da ne dodirujete druge postavke osim ako znate što radite.

Kako ažurirati Nginx

Nginx će se ažurirati prema zadanim postavkama kada nova verzija stigne u spremišta. Prije nadogradnje uvijek se savjetuje da napravite sigurnosnu kopiju svog Nginx direktorija ili, u najmanju ruku, nginx.conf datoteka. Možete učiniti bilo što pomoću sljedeće naredbe.

Sigurnosna kopija nginx.conf (vrlo preporučljivo):

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx-backup.conf

Izradite sigurnosnu kopiju cijele mape Nginx ako želite:

sudo cp /etc/nginx/ /etc/nginx-bkup

Zatim pokrenite standardnu naredbu za ažuriranje.

sudo apt ažuriranje

Ako je dostupna nadogradnja, pokrenite je.

sudo apt nadogradnja 

Možda će vam se to zatražiti tijekom nadogradnje ili instalacije, ali ručno je to učiniti prije vrlo bitno. Za velike Nginx konfiguracije s više web-mjesta, sigurnosna kopija na nešto poput Githuba ili Gitlaba bila bi još korisnija.


Oglas


Komentari i zaključak

U tutorialu ste naučili instalirati i postaviti osnovnu konfiguraciju Nginxa na svoju domenu na Debian 11 Bullseye i stvoriti besplatni SSL certifikat koristeći Let's Encrypt. Općenito, Nginx je trenutno najkorišteniji i najpopularniji softver za web-aplikacije, a svaki mjesec i godina nadmašuju Apache koji uzima sve veći tržišni udio.

Počinju se pojavljivati neki novi kandidati, kao što je Openlitespeed, ali s obzirom na ove druge web aplikacije, za sada se usredotočite na određene stvari poput WordPressa. Nginx će neko vrijeme biti glavna web aplikacija.

Pretplatite se
Obavijestiti o
0 Komentari
Inline povratne informacije
Pogledaj sve komentare
0
Voljela bih vaše mišljenje, komentirajte.x