Hvernig á að setja upp Nginx með Let's Encrypt TLS/SSL á Linux Mint 20

nginx er opinn hugbúnaður fyrir vefþjónustu, öfugt umboð, skyndiminni, álagsjafnvægi, streymi fjölmiðla og fleira. Linux Mint er samfélagsdrifin Linux dreifing byggð á Ubuntu (byggt á Debian), með ýmsum ókeypis og opnum forritum. Þessir tveir geta hýst og starfað vel saman, þar sem báðir eru framúrskarandi á sínu sviði.

Hvað er Linux Mint?

Linux Mint miðar að því að framleiða nútímalegt, glæsilegt og þægilegt stýrikerfi sem er öflugt og auðvelt í notkun. Linux Mint er ein vinsælasta skrifborðs Linux dreifingin og er notuð af milljónum manna.

Sumar ástæðurnar fyrir velgengni Linux Mint eru:

  • Það virkar út úr kassanum, með fullum margmiðlunarstuðningi og er einstaklega auðvelt í notkun.
  • Það er bæði ókeypis og opinn uppspretta.
  • Það er samfélagsdrifið. Notendur eru hvattir til að senda athugasemdir til verkefnisins svo hægt sé að nota hugmyndir þeirra til að bæta Linux Mint.
  • Byggt á Debian og Ubuntu, býður það upp á um 30,000 pakka og einn af bestu hugbúnaðarstjórunum.
  • Það er öruggt og áreiðanlegt. Þökk sé íhaldssamri nálgun á hugbúnaðaruppfærslum, einstökum uppfærslustjóra og styrkleika Linux arkitektúrsins, krefst Linux Mint mjög lítið viðhalds (engin afturför, engin vírusvörn, engin njósnavörn ... osfrv.).

Fáðu


Hvað er Nginx?

Nginx er opinn hugbúnaður, ókeypis HTTP netþjónn. Til viðbótar við HTTP netþjónsgetu sína, getur NGINX einnig virkað sem proxy-þjónn fyrir tölvupóst (IMAP, POP3 og SMTP) og öfugur proxy og álagsjafnari fyrir HTTP, TCP og UDP netþjóna. Markmiðið á bak við NGINX var að búa til hraðasta vefþjóninn sem til er og viðhalda því ágæti er enn a meginmarkmið verkefnisins. NGINX slær stöðugt Apache og aðra netþjóna inn viðmið sem mæla árangur vefþjónsins. Hins vegar, frá upprunalegu útgáfunni af NGINX, hafa vefsíður stækkað úr einföldum HTML síðum í kraftmikið, margþætt efni. NGINX hefur vaxið með því og styður nú alla íhluti nútíma vefsins, þar á meðal WebSocket, HTTP/2, gRPC og streymi á mörgum myndbandssniðum (HDS, HLS, RTMP og fleiri).

Kostir Nginx:

  • Uppsetningar og stillingar eru einfaldar og auðveldar. …
  • Hraðasta og besta til að þjóna kyrrstæðum skrám. …
  • Kviku efni umbreytt í kyrrstætt efni. …
  • Í samanburði við Apache eru 4 sinnum fleiri samhliða tengingar meðhöndlaðar. …
  • Samhæfni við almennt notuð vefforrit. …
  • Stuðningur við álagsjafnvægi.

Í eftirfarandi handbók verður þér sýnt hvernig á að setja upp Nginx á Linux Mint 20.

Forsendur

Uppfærðu stýrikerfi

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

sudo apt update && sudo apt upgrade -y

Kennsluefnið mun nota sudo skipun og að því gefnu að þú sért með sudo stöðu. Til að staðfesta sudo stöðu á reikningnum þínum:

sudo whoami

Dæmi um úttak sem sýnir sudo stöðu:

[joshua@linuxmint ~]$ sudo whoami
root

Ef þú hefur ekki sett upp sudo notandareikning og langar til að gera það skaltu skoða kennsluna okkar um Hvernig á að bæta notanda við Sudoers á Linux Mint.

Til að nota rótarreikningur, notaðu eftirfarandi skipun með rót lykilorðinu til að skrá þig inn.

su

Fáðu


Setjið Nginx

Aðferð 1. Settu upp Nginx Stable frá sjálfgefna geymslunni

Fyrsta aðferðin er að setja upp Nginx frá sjálfgefnum geymslum Linux Mint 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 sjálfgefna geymslupakka.

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 á Linux Mint 20

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ý PPA

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

Settu upp einn af eftirfarandi PPA með eftirfarandi skipun:

Settu upp nýjasta Nginx (STABLE):

sudo add-apt-repository ppa:ondrej/nginx-stable -y && sudo apt update

Settu upp nýjasta Nginx (MAINLINE):

sudo add-apt-repository ppa:ondrej/nginx-mainline -y && sudo apt update

Nú þegar þú hefur sett upp PPA 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 á Linux Mint 20

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 (frá aðallínu):

nginx version: nginx/1.21.3

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 á Linux Mint 20

Athugaðu að þú gætir verið beðinn um að halda eða skipta út núverandi / etc / nginx /nginx.conf stillingarskrá meðan á uppsetningunni stóð ef þú hafðir Nginx uppsett áður. 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
sudo systemctl status nginx

Dæmi úttak:

Hvernig á að setja upp Nginx með Let's Encrypt TLS/SSL á Linux Mint 20

UFW stillingar

Sjálfgefið er að UFW er sett upp á Linux Mint. 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.

Ef UFW er ekki uppsett skaltu setja eldvegginn aftur upp með því að 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ð víðtækur 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 á Linux Mint 20

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

Ef villa kemur upp þarftu að setja upp krullupakkann á kerfinu þínu meira en líklegt er. Keyrðu þessa skipun fljótt:

sudo apt install curl -y

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 thanks to Linuxcapable.com!</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ðu Nginx Server Block

Þú verður að tengja stillingarskrárnar frá síðum sem eru tiltækar við síður sem eru virkar í Nginx skránni þinni til að virkja blokkir á Nginx netþjóni. Þ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úna Netvafri og sláðu inn lén netþjónsins. Þú ættir að sjá netþjónablokkina þína er í beinni.

Hvernig á að setja upp Nginx með Let's Encrypt TLS/SSL á Linux Mint 20

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

Valfrjálst geturðu stillt cron starf til að endurnýja vottorðin sjálfkrafa. Certbot býður upp á handrit sem gerir þetta sjálfkrafa, og þú getur fyrst prófað til að ganga úr skugga um að allt virki með því að framkvæma þurrkeyrslu.

sudo certbot renew --dry-run

Ef allt virkar skaltu opna crontab gluggann þinn með því að nota eftirfarandi flugstöðvaskipun.

sudo crontab -e

Næst skaltu tilgreina tímann þegar það ætti að endurnýja sjálfkrafa. Þetta ætti að vera athugað daglega að lágmarki og ef endurnýja þarf vottorðið mun handritið ekki uppfæra vottorðið. Ef þú þarft hjálp við að finna góðan tíma til að stilla skaltu nota crontab.guru ókeypis tól.

00 00 */1 * * /usr/sbin/certbot-auto renew

Vista (CTRL+O) farðu síðan út (CTRL+X), og cronjob verður sjálfkrafa virkt.


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ánar.

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 á Linux Mint 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