Serveri në internet në CentOS 8 me php7, node.js dhe redis

Parathënie libri

Kanë kaluar 2 ditë që nga publikimi i një versioni të ri të sistemit operativ CentOS, përkatësisht CentOS 8. Dhe deri më tani ka mjaft artikuj në internet se si bëhen gjërat në të, ndaj vendosa ta plotësoj këtë boshllëk. Për më tepër, unë do t'ju tregoj jo vetëm se si të instaloni këtë palë programesh, por edhe se si në përgjithësi e shoh instalimin e Linux në një mjedis virtual në botën moderne për detyra tipike, duke përfshirë ndarjen e disqeve etj.

Por në fillim, dua të flas shkurtimisht pse ia vlen të kalosh në këtë version nga të gjithë të mëparshmet, dhe ka dy arsye për këtë:

  1. php7! Në versionin e mëparshëm të CentOS, u instalua php5.4 "ortodoks" ...

    Mirë, për të qenë pak më serioz, shumë paketa kaluan nëpër disa versione masivisht. Ne (adhuruesit e OS-ve të ngjashme me redhat) më në fund kemi hyrë, nëse jo në të ardhmen, atëherë të paktën në të tashmen. Dhe mbështetësit e Ubuntu-s nuk do të qeshin më me ne dhe nuk do të na tregojnë gishtin, mirë... të paktën për një kohë ;).

  2. Kalimi nga yum në dnf. Dallimi kryesor është se tani është zyrtarisht i mbështetur për të punuar me disa versione të paketave menjëherë. Pikërisht në të tetën, nuk e kam gjetur kurrë këtë të dobishme, por tingëllon premtuese.

Krijo një makinë virtuale

Ka hipervizorë të ndryshëm dhe nuk kam asnjë qëllim ta përshtat lexuesin në një të veçantë, do t'ju tregoj për parimet e përgjithshme.

kujtim

Së pari... Për të instaluar një sistem CentOS duke filluar nga 7 me siguri, dhe për mendimin tim kështu ishte edhe në 6 ("por kjo nuk është e sigurt"), ju duhet minimum 2 GB RAM. Prandaj, ju këshilloj që të jepni kaq shumë më parë.

Por nëse ka ndonjë gjë, pas instalimit, madhësia e kujtesës mund të zvogëlohet. Në 1 GB sistemi i zhveshur funksionon mjaft mirë, kontrollova.

Диск

Për një instalim normal, duhet të krijoni një disk virtual me një kapacitet 20-30 GB. Kjo është e mjaftueshme për sistemin. Dhe një disk i dytë për të dhënat. Mund të shtohet si në fazën e krijimit të një makine virtuale ashtu edhe më pas. Zakonisht e shtoj më vonë.

procesor

Në një bërthamë, sistemi i zhveshur nuk ngadalësohet. Dhe meqenëse burimet janë lirisht të shkallëzueshme, nuk shoh asnjë pikë për të dhënë më shumë në fazën e instalimit (përveç nëse i dini kërkesat në mënyrë të përsosur dhe nuk jeni shumë dembel për të hyrë përsëri në konfigurues)

Pjesa tjetër zakonisht mund të lihet si parazgjedhje.

Instalimi aktual

Pra... Le të hapim instaluesin... Personalisht, unë kam instaluar shërbime të tilla vetëm në formën e makinave virtuale për një kohë të gjatë, kështu që nuk do të përshkruaj të gjitha llojet e regjistrimeve të shpërndarjes në një flash drive - thjesht monto ISO si një CD në hipervizorin tim të preferuar, shkarkoje dhe le të shkojmë.

Instalimi bazë është mjaft tipik, unë do të ndalem vetëm në disa pika.

Zgjedhja e burimit

Që nga publikimi i versionit të tetë, pasqyra nga Yandex ka qenë e shtrirë për ditë të tëra. Epo, domethënë, rritet periodikisht, dhe pastaj përsëri fillon të tregojë një gabim. Jam i sigurt se është për shkak të ngarkesës së tepërt në shërbim. Prandaj, për të treguar burimin, unë personalisht duhej, në vend që të futja adresën e zakonshme, të shkoja këtu, zgjidhni pasqyrën që më pëlqen atje dhe vendosni manualisht adresën në dritaren e instaluesit. Është e rëndësishme të mbani mend këtu se duhet të specifikoni shtegun për në dosjen ku ndodhet drejtoria ripodata. Për shembull, mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os.

Ndarja e diskut

Kjo pyetje është më tepër fetare për mendimin tim. Secili administrator ka qëndrimin e tij për këtë çështje. Por unë do të ndaj këndvështrimin tim për këtë çështje.

Po, në parim, ju mund ta ndani të gjithë hapësirën në rrënjë dhe do të funksionojë, më shpesh edhe mjaft mirë. Pse atëherë të rrethoni një kopsht me seksione të ndryshme? — Sipas meje, ka dy arsye kryesore për këtë: kuotat dhe transportueshmëria.

Për shembull, nëse diçka shkon keq dhe ndodhin gabime në ndarjen kryesore të të dhënave, ju dëshironi të jeni në gjendje të filloni akoma sistemin dhe të kryeni masa ringjalljeje. Prandaj, unë personalisht ndaj një ndarje të veçantë për /boot. Ka një kernel dhe një bootloader. Zakonisht mjaftojnë 500 megabajt, por në raste të rralla mund të nevojiten edhe më shumë, dhe duke qenë se tashmë jemi mësuar të matim hapësirën në terabajt, ndaj kësaj pjese 2 GB. Dhe gjëja e rëndësishme këtu është se nuk mund të bëhet lvm.

Më pas vjen rrënja e sistemit. Për një instalim normal, kurrë nuk kam nevojë për më shumë se 4 GB për sistem, por gjatë ngjarjeve të planifikuara shpesh përdor direktoriumin /tmp për të shpaketuar shpërndarjet dhe nuk shoh ndonjë kuptim për t'ia kushtuar një ndarje të veçantë - në sistemet moderne pastrohet automatikisht, pra nuk mbushet. Kështu që unë ndaj 8 GB për rrënjën.

Swap... Në përgjithësi, ka pak përdorim praktik prej tij. Nëse filloni të përdorni swap në serverin tuaj, sot në botën reale kjo do të thotë vetëm se serveri duhet të shtojë më shumë RAM. Përndryshe, problemet me performancën janë të garantuara (ose ndonjë program "rrjedh" memorie). Prandaj, ky seksion është i nevojshëm vetëm për qëllime diagnostikuese. Prandaj, 2 GB është një numër i shkëlqyer. Po, pavarësisht se sa memorie ka në server. Po, i kam lexuar të gjithë ata artikuj ku shkruhet për raportin e vëllimit të memories me vëllimin e shkëmbimit... IMHO, janë të vjetruara. Në 10 vjet praktikë, kjo nuk ka qenë kurrë e dobishme për mua. 15 vjet më parë i kam përdorur, po.

IMHO, secili mund të vendosë vetë nëse do të ndajë /home në një ndarje të veçantë. Nëse dikush në server do ta përdorë në mënyrë aktive këtë drejtori, është më mirë ta shpërndani atë. Nëse askush, nuk ka nevojë.

Tjetra, /var. Sipas mendimit tim, duhet theksuar patjetër. Për të filluar, mund të kufizoni veten në 4 GB dhe të shihni se si shkon. Dhe po, me "si shkon" dua të them këtë

  1. Së pari, gjithmonë mund të montoni një disk tjetër në nëndrejtorinë /var (të cilin do ta tregoj më vonë me një shembull)
  2. Së dyti, ne kemi lvm - gjithmonë mund ta shtoni. Dhe zakonisht duhet ta shtoni kur shumë shkrime fillojnë të derdhen atje. Por kurrë nuk kam qenë në gjendje ta parashikoj këtë shifër paraprakisht, kështu që filloj me 2 GB dhe më pas shikoj.

Hapësira e pacaktuar do të mbetet e lirë në grupin e vëllimit dhe mund të përdoret gjithmonë më vonë.

LVM

Të gjithë Ka kuptim të bëhen ndarje përveç /boot në LVM. Po, duke përfshirë shkëmbimin. Po, sipas të gjitha këshillave, shkëmbimi duhet të jetë në fillim të diskut, por në rastin e LVM vendndodhja e tij nuk mund të përcaktohet në parim. Por siç shkrova më lart, sistemi juaj nuk duhet përdorni fare swap. Prandaj, nuk ka rëndësi se ku është. Epo, ne nuk jetojmë në ’95, sinqerisht!

Më tej, në LVM ka disa entitete bazë me të cilat duhet të jeni në gjendje të jetoni:

  • vëllimi fizik
  • grup vëllimi
  • vëllimi logjik

Vëllimet fizike kombinohen në grupe, dhe çdo vëllim fizik mund të jetë vetëm në një grup, dhe një grup mund të vendoset në disa vëllime fizike në të njëjtën kohë.
Dhe vëllimet logjike janë secili në një grup.

Por... Dreqin, është sërish shekulli i 21-të. Dhe serverët janë virtualë. Nuk ka kuptim të zbatohen për ta të njëjtat mekanizma që u aplikuan për ato fizike. Dhe për ato virtuale është e rëndësishme që të ketë të dhëna veçmas nga sistemi! Kjo është shumë e rëndësishme, veçanërisht për aftësinë për të kaluar shpejt të dhënat në një makinë tjetër virtuale (për shembull, kur kaloni në një OS të ri) dhe në përgjithësi për të gjitha llojet e të mirave të dobishme (kopje rezervë të ndara sipas ndarjeve duke përdorur mjetet e hipervizorit, për shembull) . Prandaj, një grup vëllimi përdoret për sistemin dhe domosdoshmërisht përdoret një tjetër për të dhënat! Kjo ndarje logjike ndihmon shumë në jetë!

Nëse keni krijuar vetëm një hard disk virtual kur krijoni një makinë virtuale, këtu përfundon konfigurimi. Dhe nëse ka dy, atëherë thjesht mos e shënoni ende të dytën.

Zapuskaem ustanovku.

Pas instalimit

Pra, sistemi i sapo instaluar më në fund u nis. Gjëja e parë që duhet të kontrolloni është interneti.

ping ya.ru

A ka një përgjigje? - E shkëlqyeshme, shtypni Ctrl-C.
Nëse jo, shko krijo një rrjet, nuk ka jetë pa këtë, por artikulli im nuk është për këtë.

Tani nëse nuk jemi ende nën rrënjë, shkoni nën rrënjë, sepse shtypni kjo numri i komandave me sudo personalisht më thyen (dhe mund të më falin administratorët paranojakë):

sudo -i

Tani gjëja e parë që bëjmë është të shkruajmë

dnf -y update

Dhe nëse po e lexoni këtë artikull në 2019, ka shumë të ngjarë që asgjë nuk do të ndodhë, por ia vlente të provoni.

Tani le të konfigurojmë diskun e mbetur

Le të themi se ndarja me sistemin ishte xvda, atëherë disku i të dhënave do të jetë xvdb. NE RREGULL.

Shumica e këshillave do të fillojnë me "Run fdisk dhe krijoni një ndarje..."

Pra kjo është gabim!

Do ta them përsëri sepse është shumë e rëndësishme! Në këtë rast, të punosh me LVM, i cili zë një disk të tërë virtual, krijimi i ndarjeve në të është i dëmshëm! Çdo fjalë në këtë frazë është e rëndësishme. Nëse punojmë pa LVM, duhet. Nëse kemi një sistem dhe të dhëna në disk, na duhen. Nëse për ndonjë arsye duhet të lëmë gjysmën e diskut bosh, ne duhet gjithashtu. Por zakonisht të gjitha këto supozime janë thjesht teorike. Sepse nëse vendosim të shtojmë hapësirë ​​në një ndarje ekzistuese, atëherë mënyra më e lehtë për ta bërë këtë është me këtë konfigurim. Dhe lehtësia e administrimit tejkalon shumë gjëra të tjera, saqë ne po shkojmë me qëllim drejt këtij konfigurimi.

Dhe lehtësia është që nëse doni të zgjeroni ndarjen e të dhënave, thjesht shtoni hapësira në ndarjen virtuale, pastaj zgjeroni grupin duke përdorur vgextend dhe kjo është ajo! Në raste të rralla, mund të kërkohet diçka tjetër, por të paktën nuk do t'ju duhet të zgjeroni vëllimin logjik në fillim, gjë që tashmë është e këndshme. Përndryshe, për të zgjeruar pikërisht këtë vëllim, ata rekomandojnë fillimisht fshirjen e atij ekzistuesin dhe më pas krijimin e një të riu sipër... Që nuk duket shumë bukur dhe nuk mund të bëhet live, por zgjerimi sipas skenarit që tregova mund të jetë kryhet "në fluturim" pa e çmontuar as ndarjen.

Pra, ne krijojmë një vëllim fizik, pastaj një grup vëllimi që e përfshin atë dhe më pas një ndarje për serverin tonë:

pvcreate /dev/xvdb
vgcreate data /dev/xvdb
lvcreate -n www -L40G data
mke2fs -t ext4 /dev/mapper/data-www

Këtu, në vend të shkronjës së madhe "L" (dhe madhësia në GB), mund të specifikoni një të vogël, dhe më pas në vend të një madhësie absolute, specifikoni një relative, për shembull, për të përdorur gjysmën e hapësirës së lirë aktualisht në një grup vëllimi, duhet të specifikoni "-l +50% FALAS"

Dhe komanda e fundit formaton ndarjen në sistemin e skedarëve ext4 (i cili deri më tani, në përvojën time, tregon stabilitetin më të madh në rast se gjithçka prishet, kështu që unë e preferoj atë).

Tani e montojmë ndarjen në vendin e duhur. Për ta bërë këtë, shtoni rreshtin e duhur në /etc/fstab:

/dev/mapper/data-www    /var/www                ext4    defaults        1 2

Dhe ne telefonojmë

mount /var/www

Nëse ndodh një gabim, jepni alarmin! Sepse kjo do të thotë që kemi një gabim në /etc/fstab. Dhe se në rindezjen e radhës do të kemi probleme shumë të mëdha. Sistemi mund të mos fillojë fare, gjë që shpesh është shumë e trishtueshme për shërbimet cloud. Prandaj, është e nevojshme ose të korrigjoni urgjentisht rreshtin e fundit të shtuar, ose ta fshini fare! Kjo është arsyeja pse ne nuk e shkruajmë komandën e montimit me dorë - atëherë nuk do të kishim një mundësi kaq të shkëlqyer për të kontrolluar konfigurimin menjëherë.

Tani ne në fakt instalojmë gjithçka që dëshironim dhe hapim portat për ueb:

dnf groupinstall "Development Tools"
dnf -y install httpd @nodejs @redis php
firewall-cmd --add-service http --permanent
firewall-cmd --add-service https --permanent

Nëse dëshironi, mund të vendosni edhe një bazë të dhënash këtu, por personalisht unë përpiqem ta mbaj të ndarë nga serveri i uebit. Edhe pse mbajtja e saj afër është më e shpejtë, po. Shpejtësia e përshtatësve të rrjetit virtual zakonisht është rreth gigabit, dhe kur punoni në të njëjtën makinë, thirrjet ndodhin pothuajse menjëherë. Por është më pak i sigurt. Çfarë është më e rëndësishme për kë?

Tani shtojmë parametrin në skedarin e konfigurimit (ne krijojmë një të ri, ideologjia moderne e CentOS është si kjo)

echo "vm.overcommit_memory = 1"> /etc/sysctl.d/98-sysctl.conf

Ne rinisim serverin.
Në komente, unë u qortova që më këshillova të fikja SeLinux, kështu që do të korrigjoj veten dhe do të shkruaj për faktin se pas kësaj duhet të mbani mend të konfiguroni SeLinux.
Në fakt, fitimi! 🙂

Burimi: www.habr.com

Shto një koment