Hvernig á að setja upp Nginx með Let's Encrypt TLS/SSL á Debian 11 Bullseye

nginx er opinn hugbúnaður, ókeypis HTTP netþjónn. Til viðbótar við getu sína á HTTP netþjóninum getur NGINX einnig virkað sem proxy-þjónn fyrir tölvupóst (IMAP, POP3 og SMTP) og öfugt umboð og álagsjafnvægi fyrir HTTP, TCP og UDP netþjóna. Markmiðið á bak við NGINX var að búa til hraðskreiðasta vefþjóninn sem til er og viðhalda því ágæti er enn aðalmarkmið Nginx verkefnisins. NGINX slær stöðugt út Apache og aðra netþjóna í viðmiðum sem mæla árangur vefþjónsins og er nú vinsælasti notaði vefþjónninn samkvæmt W3Tech.

Í eftirfarandi kennslu muntu læra hvernig á að setja upp Nginx á Debian 11 Bullseye með því að nota sjálfgefna Debian geymsluna eða aðra geymslu frá Ondřej Surý með ókeypis TLS/SSL vottorði frá Let's Encrypt.

Forsendur

  • Mælt með stýrikerfi: Debian 11 Bullseye
  • Notendareikningur: Notendareikningur með sudo réttindi or rótaraðgangur (su skipun).

Uppfærir stýrikerfi

Uppfærðu þína Debian 11 Bullseye stýrikerfi til að tryggja að allir núverandi pakkar séu uppfærðir:

sudo apt update && sudo apt upgrade

Root eða Sudo Access

Sjálfgefið, þegar þú býrð til reikninginn þinn við ræsingu með Debian miðað við aðrar dreifingar, fær hann ekki sjálfkrafa sudoers stöðu. Þú verður annað hvort að hafa aðgang að rót lykilorð til að nota su skipunin eða farðu á námskeiðið okkar á Hvernig á að bæta notanda við Sudoers á Debian.


Fáðu


Setjið Nginx

Aðferð 1. Settu upp Nginx Stable frá Debian Repository

Fyrsta aðferðin er að setja upp Nginx frá sjálfgefnum geymslum Debian, og þessar útgáfur hafa sýnt sig að vera stöðugar og öruggar. Ef þú þarft að keyra aðal vefþjón eða öfugt umboð er oft mælt með því að setja upp Debian geymslupakkana.

Til að setja upp Nginx skaltu keyra eftirfarandi skipun.

sudo apt install nginx

Dæmi úttak:

Hvernig á að setja upp Nginx með Let's Encrypt TLS/SSL á Debian 11 Bullseye

Gerð "J," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með uppsetninguna.

Næst skaltu staðfesta útgáfuna og hvort uppsetningin hafi heppnast.

sudo nginx -v

Dæmi úttak:

nginx version: nginx/1.18.0

Aðferð 2. Settu upp nýjustu Nginx Stable eða Mainline frá Ondřej Surý geymslunni

Að öðrum kosti, í stað þess að setja upp sjálfgefna Nginx stöðuga byggingu úr Debian 11 geymslunni, geturðu sett upp annað hvort Nginx Stable eða Mainline með því að nota geymsluna frá Ondřej Surý, PHP viðhaldsaðila fyrir Debian.

Til að flytja inn aðalgagnageymslu:

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

Til að flytja inn stöðuga geymslu:

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

Uppfærðu geymsluna þína til að endurspegla nýju breytinguna:

sudo apt update

Nú þegar þú hefur sett upp Nginx geymsla og uppfærði geymslulistann, settu upp Nginx með eftirfarandi:

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

Dæmi úttak:

Hvernig á að setja upp Nginx með Let's Encrypt TLS/SSL á Debian 11 Bullseye

Gerð "Y," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram og ljúka uppsetningunni.

Athugaðu nú hvort nýjasta Nginx frá Ondřej Surý geymslunni hafi verið sett upp með því að nota apt-cache stefnu skipun. Athugið að kennsludæmi uppsett Nginx Mainline:

apt-cache policy nginx

Dæmi framleiðsla fyrir Nginx aðallína:

Hvernig á að setja upp Nginx með Let's Encrypt TLS/SSL á Debian 11 Bullseye

Athugaðu að þú gætir verið beðinn um að halda eða skipta út núverandi / etc / nginx /nginx.conf stillingarskrá meðan á uppsetningu stendur. Mælt er með því að halda núverandi stillingarskrá með því að ýta á (n). Afrit verður gert óháð útgáfu viðhaldsaðila og þú getur líka athugað þetta í framtíðinni.

Þú munt taka eftir að fleiri einingar verða fáanlegar í þessari útgáfu, einkum brotli stuðningur. Til að setja upp brotli, fylgdu skrefunum hér að neðan.

Opnaðu nginx.conf stillingarskrá:

nano /etc/nginx/nginx.conf

Bættu nú við viðbótarlínunum áður í HTTP{} kafla:

brotli on;
brotli_comp_level 6;
brotli_static on;
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 text/plain text/xml;

The brotli_comp_level hægt að stilla á milli 1 (lægst) og 11 (hæsta). Venjulega sitja flestir netþjónar í miðjunni, en ef þjónninn þinn er skrímsli skaltu stilla á 11 og fylgjast með CPU notkun.

Næst skaltu prófa til að ganga úr skugga um að breytingarnar virki rétt áður en þær eru birtar:

sudo nginx -t

Ef breytingarnar virka rétt ættirðu að sjá eftirfarandi:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Gerðu nú breytingarnar í beinni með því að endurræsa netþjóninn þinn:

sudo systemctl restart nginx
systemctl status nginx

Dæmi úttak:

Hvernig á að setja upp Nginx með Let's Encrypt TLS/SSL á Debian 11 Bullseye

Valfrjálst. UFW stillingar

Sjálfgefið er að UFW er ekki sett upp á Debian 11 Bullseye, ólíkt öðrum dreifingum eins og Ubuntu. Hins vegar, ef þú notar UFW eða vilt fá skýrari sýn á að keyra eldvegg, notaðu upplýsingarnar hér að neðan til að stilla UFW fyrir Nginx.

Til að setja upp UFW skaltu nota eftirfarandi skipun.

sudo apt install ufw -y

Næst skaltu virkja UFW með eftirfarandi skipun.

sudo ufw enable

Sjálfgefið er að allar mótteknar tengingar eru nú læstar og allar sendingar eru leyfðar.

Næst skaltu finna út hvaða forrit þú hefur sett upp með því að slá inn eftirfarandi.

sudo ufw app list

Dæmi um úttak (Athugið að stór listi mun einnig birtast yfir önnur forrit):

 Available applications:
   Nginx Full
   Nginx HTTP
   Nginx HTTPS

Næst geturðu virkjað Nginx í HTTP (Port 80), HTTPS (Port 443) eða Full, þar á meðal alla valkosti.

HTTP (gátt 80):

sudo ufw allow 'Nginx HTTP'

HTTP (gátt 443):

sudo ufw allow 'Nginx HTTPS'

HTTP og HTTPS (fullt):

sudo ufw allow 'Nginx FULL'

Í kennslunni, „Nginx (fullt)“ var virkjað.

Dæmi úttak:

 Rules updated
 Rules updated (v6)

Staðfestu að eldveggsreglurnar séu virkar með eftirfarandi skipun.

sudo ufw status

Þú munt sjá reglurnar sem taldar eru upp í úttakinu.

 Status: active
 To                         Action      From
 --                         ------      ----
 Nginx Full                 ALLOW       Anywhere                  
 Nginx Full (v6)          ALLOW       Anywhere (v6) 

Eftir að UFW hefur verið stillt skaltu ganga úr skugga um að þú getir séð Nginx áfangasíðuna í netvafranum þínum.

http://your_server_ip

Ef allt gengur vel ættirðu að lenda á eftirfarandi síðu:

Hvernig á að setja upp Nginx með Let's Encrypt TLS/SSL á Debian 11 Bullseye

Fáðu


Stilla Nginx Server

Þú þarft að hafa IP tölu netþjónsins tilbúinn til uppsetningar. Auðveldasta leiðin til að gera þetta er með eftirfarandi.

Finndu IP tölu netþjóns

Þú þarft að hafa IP tölu netþjónsins tilbúinn til uppsetningar. Auðveldasta leiðin til að gera þetta er með eftirfarandi.

curl -4 icanhazip.com

Dæmi úttak:

XXX.XXX.XXX.XXX IP address

Settu upp heimildaskrá vefsvæðis

Nginx netþjónablokkir (svipað og sýndargestgjafar í Apache) geta umlukið upplýsingar um stillingar og hýst fleiri en eitt lén frá einum netþjóni. Í kennslunni muntu setja upp lén sem heitir example.com, en þú ættir skiptu þessu út fyrir lénið þitt.

Þegar þú setur upp Nginx er það búið til með fyrirfram uppsettri www skrá. Staðsetningin er að finna á / var / www / html /.

Fyrst skaltu búa til möppuna, fyrir example.com, sem hér segir, með því að nota „-p“ fánann til að búa til nauðsynlegar móðurskrár:

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

Í öðru lagi þarftu að úthluta eiganda möppunnar.

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

Í þriðja lagi, úthlutaðu heimildum möppunnar, þannig að eigandinn les, skrifar og keyrir skrárnar á meðan hann veitir aðeins les- og framkvæmdaheimildir til hópa og annarra. Þú getur sett inn eftirfarandi skipun:

sudo chmod -R 755 /var/www/your_domain

Settu upp Test HTML síðu

Í fjórða lagi, búðu til prófunarsíðu sem þú munt nota til að staðfesta að Nginx netþjónninn þinn sé starfhæfur.

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

Inni í nano ritlinum og ný skrá sem þú hefur búið til. Skráðu Eftirfarandi.

<html>
 <head>
  <title>Welcome to your_domain!</title>
 </head>
 <body>
   <h1>Success!  The your_domain server block is working!</h1>
 </body>
</html>

Vistaðu skrána CTRL+O, farðu síðan út CTRL + X.

Búðu til Nginx netþjónablokk

Nú muntu búa til netþjónablokkina fyrir vefsíðuna þína. Við munum búa til nýjan netþjónablokk sem hér segir.

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

Þú getur límt eftirfarandi dæmi kóða inn í blokkina. Þetta er bara an Aðeins HTTP-dæmi fyrir grunnpróf.

server {
 listen 80;
 listen [::]:80;

 root /var/www/your_domain/html;

  index index.html index.htm index.nginx-debian.html;
  server_name your_domain www.your_domain;

 location / {
  try_files $uri $uri/ =404;
 }
}

Dæmið sýnir netþjóninn þinn er að hlusta eftir tveimur netþjónsnöfnum, „yitt_lén“ á höfn 80.

Þú þarft að breyta rótarskránni í nafn/staðsetningu rótarskrárinnar sem þú býrð til.

Virkjað Nginx Server Block

Til að virkja Nginx netþjónablokkir verður þú að tengja stillingarskrárnar frá síðum sem eru tiltækar við síður sem eru virkjaðar í Nginx skránni þinni. Þetta er hægt að gera með ln -s skipuninni sem hér segir.

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

Lokastilling og prófun

Á lokastigi þarftu að opna sjálfgefið þitt nginx.conf skrá.

sudo nano /etc/nginx/nginx.conf

Og afskrifaðu eftirfarandi línu.

server_names_hash_bucket_size 64;

Stærð kjötkássafötu þjónsins er breytt þar sem stundum koma upp vandamál við að bæta við fleiri netþjónum.

Næst skaltu prófa Nginx til að ganga úr skugga um að það virki áður en þú endurræsir rétt.

sudo nginx -t

Úttakið ætti að vera ef engar villur í setningafræðinni:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ef þú hefur eftirfarandi í lagi framleiðsla skaltu endurræsa Nginx netþjóninn til að breytingarnar eigi sér stað.

sudo systemctl restart nginx

Opnaðu nú netvafrann þinn og sláðu inn lén netþjónsins. Þú ættir að sjá netþjónablokkina þína er í beinni.

Öruggt Nginx með Let's Encrypt SSL Free Certificate

Helst myndirðu vilja keyra Nginx þinn á HTTPS með SSL vottorði. Besta leiðin til að gera þetta er að nota Við skulum dulkóða, ókeypis, sjálfvirkt og opið vottunaryfirvald rekið af Internet Security Research Group (ISRG) sem ekki er rekin í hagnaðarskyni.

Fyrst skaltu setja upp certbot pakki eins og hér segir:

sudo apt install python3-certbot-nginx -y

Þegar það hefur verið sett upp skaltu keyra eftirfarandi skipun til að hefja gerð vottorðsins þíns:

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

Þetta er tilvalin uppsetning sem inniheldur þvingaða HTTPS 301 tilvísanir, Strict-Transport-Security haus og OCSP heftingu. Gakktu úr skugga um að aðlaga tölvupóstinn og lénið að þínum þörfum.

Nú verður vefslóðin þín HTTPS://www.example.com Í stað þess að HTTP://www.example.com.

Athugið, ef þú notar gamla HTTP vefslóð, mun það sjálfkrafa vísa til HTTPS.


Fáðu


Hvernig á að fá aðgang að Nginx netþjónaskrám

Nginx Logs Directory

Sjálfgefið er að allir NGINX aðgangs-/villuskrár, nema þú hafir breytt þeim, eru staðsettir í annálaskránni, sem eftirfarandi skipun getur skoðað.

Farðu fyrst að skráarskránni og skráðu skrárnar:

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

Þú ættir að finna eftirfarandi aðgangs- og villuskrár:

Aðgangsskrá:

/var/log/nginx/access.log

Villuskrá:

/var/log/nginx/error.log

Til að skoða logs í rauntíma í flugstöðinni þinni með því að nota sudo tail -f /location/of/log path skipunina.

Dæmi:

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

Annar valkostur er að prenta síðasta X magn af línum. Til dæmis er X skipt út fyrir 30 til að prenta 30 línur með því að bæta við -n 30 fáni.

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

Þetta eru bara nokkur dæmi um lestrarskrár.

Hvernig á að stilla Nginx Log Rotate

Nginx setur sjálfkrafa upp snúning annála og stillir það sjálfgefið sem er að snúa daglega. Þú getur breytt þessum stillingum með því að opna skrána eins og sýnt er hér að neðan.

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

Næst muntu sjá sömu ef ekki svipaða skráaruppbyggingu. Þú getur breytt innihaldinu hér. Aðallega er hægt að breyta því hversu mörgum annálum á að halda eða fara úr daglega í vikulega. Þetta ætti að vera sjálfgefið nema þú hafir sérstakar þarfir fyrir annálaþörf fyrir hugbúnað eins og fail2ban eftirlit eða álíka.

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

Helstu stillingarnar sem þú vilt líklega breyta eru eftirfarandi:

  • Daglega - Þessu er hægt að breyta í vikulega, mánaðarlega. Þessu ætti að halda daglega, annars verður erfitt að fara í gegnum annálaskrána.
  • Snúa 14 - Þetta er hversu marga loga á að geyma og fjarlægja, svo að hámarki eru aðeins 14 logs, ef þú vilt aðeins halda 7 daga virði af logs breyttu þessu í 7.

Mælt er með því að snerta ekki neinar aðrar stillingar nema þú vitir hvað þú ert að gera.

Hvernig á að uppfæra Nginx

Nginx verður sjálfgefið uppfært þegar ný útgáfa kemur á geymslurnar. Áður en þú uppfærir er alltaf ráðlagt að taka öryggisafrit af Nginx skránni þinni eða, að minnsta kosti, nginx.conf skrá. Þú getur gert annað hvort með eftirfarandi skipun.

Taktu öryggisafrit af nginx.conf (mjög mælt með):

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

Taktu öryggisafrit af allri Nginx möppunni þinni ef þú vilt:

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

Næst skaltu keyra venjulegu uppfærsluskipunina.

sudo apt update

Ef uppfærsla er tiltæk skaltu keyra uppfærsluna.

sudo apt upgrade 

Þú gætir verið beðinn um þetta meðan á uppfærslu eða uppsetningu stendur, en það er frekar nauðsynlegt að gera þetta handvirkt fyrirfram. Fyrir stórar Nginx stillingar margra vefsvæða væri enn hagstæðara að taka öryggisafrit af einhverju eins og Github eða Gitlab.


Fáðu


Athugasemdir og niðurstaða

Í kennslunni hefurðu lært að setja upp og setja upp grunn Nginx stillingar á léninu þínu á Debian 11 Bullseye og búa til ókeypis SSL vottorð með Let's Encrypt. Á heildina litið er Nginx mest notaði og vinsælasti vefforritahugbúnaðurinn núna, þar sem hver mánuður og ár fer fram úr því að taka meiri markaðshlutdeild frá Apache.

Sumir nýir keppinautar eru farnir að skjóta upp kollinum, eins og Openlitespeed, en í ljósi þessara annarra vefforrita, í augnablikinu, einbeittu þér að ákveðnum hlutum eins og WordPress. Nginx mun verða vefforritið sem þú vilt nota í nokkurn tíma.

Gerast áskrifandi
Tilkynna um
0 Comments
Inline endurgjöf
Skoða allar athugasemdir
0
Vilt elska hugsanir þínar, vinsamlegast skrifaðu athugasemdir.x