Server web në CentOS 8 me php7, node.js dhe redis

Parathënie

Të dy ditët e fundit ka dalë një version i ri i sistemit operativ CentOS, konkretisht, CentOS 8. Deri tani, në internet ka pak artikuj mbi mënyrën se si bëhet diçka në të, andaj vendosa ta plotësoj këtë boshllëk. Do të flas jo vetëm për mënyrën e instalimit të këtyre dy programeve, por edhe për mënyrën si e shoh unë instalimin e Linux-it në një mjedis virtual në botën moderne për detyra tipike, duke përfshirë ndarjen e disqeve dhe të tjera.

Por në fillim, dëshiroj të flas shkurtimisht për arsyet pse duhet të kaloni në këtë version nga të gjithë versionet e mëparshme, dhe ka dy arsye për këtë:

  1. php7! NĂ« versionin e kaluar tĂ« CentOS, instalohej php5.4 ‘ortodoks’...

    MirĂ«, nĂ«se e marrim pak mĂ« seriozisht, shumĂ« paketa kaluan pĂ«rmes disa versioneve njĂ«herĂ«sh. Ne (nĂ« ndjekĂ«sit e sistemeve tĂ« ngjashme me redhat) mĂ« nĂ« fund hyjmĂ«, ndoshta jo nĂ« tĂ« ardhmen, por tĂ« paktĂ«n nĂ« tĂ« tashmen. Dhe pĂ«rkrahĂ«sit e Ubuntu-t nuk do tĂ« na qeshin mĂ« dhe tĂ« na tregojnĂ« me gisht, mirë  edhe pĂ«r njĂ« kohĂ« tĂ« shkurtĂ«r ;).

  2. Kalimi nga yum në dnf. Diferenca kryesore është se tani mbështetet zyrtarisht puna me disa versione të paketave në të njëjtën kohë. Kjo deri tani nuk më është dashur asnjëherë në versionin tetë, por tingëllon premtuese.

Krijimi i makinës virtuale

Ekzistojnë shumë lloje hipervizorësh dhe nuk kam për qëllim ta orientoj lexuesin për një të caktuar, do të flas për parimet e përgjithshme.

Memorie

E para
 PĂ«r tĂ« instaluar sistemin CentOS, duke filluar nga versioni 7 me siguri, dhe mendoj se kĂ«shtu ka qenĂ« edhe nĂ« 6 («por nuk Ă«shtĂ« e sigurt»), kĂ«rkohet minimumi 2 GB memorie RAM. Prandaj, rekomandoj fillimisht tĂ« dhurohet kaq shumĂ«.

Por nëse është nevoja, pas instalimit hapësira e memories mund të ulet. Një sistem i pastër funksionon mjaft mirë me 1 GB, e kam provuar.

Disku

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

Procesori

Me një bërthamë, sistemi i pastër nuk ngadalëson. Dhe meqenëse resurset mund të shkallëzohen lirisht, nuk shoh ndonjë kuptim të jap më shumë gjatë fazës së instalimit (përveç nëse e njihni përsosmërisht kërkesën dhe jeni të lodhur për të hyrë përsëri në konfigurues).

Të tjerat zakonisht mund të lihen siç janë.

Instalimi i vërtetë

Kështu... Po fillojmë instaluar... Unë personalisht kam vendosur që prej kohësh shërbime të tillë vetëm si makina virtuale, prandaj nuk do të përshkruaj se si të shkruani përcaktimin e distribucionit në një flash drive - thjesht monto ISO si një CD në hipervizorin tim të preferuar, ngarko dhe nisemi.

Instalimi bazë kalon mjaft zakonisht, do të ndalem vetëm në disa momente.

Zgjedhja e burimit

Që nga dalja e versionit të tetë, pasqyra nga Yandex ka qenë e pavendosur për disa ditë. Do të thotë, ajo ngrihet periodikisht, pastaj përsëri fillon të tregojë një gabim. Jam i sigurt se kjo ndodh për shkak të ngarkesës së tepërt në shërbim. Prandaj, për të caktuar burimin, personalisht, më duhej që në vend të hyrjes së adresës së zakonshme, të shkoja . Kërkesat e dërguara përmes mënyrave të tjera nuk do të shqyrtohen., të zgjidhja një pasqyrë që më pëlqente dhe të futja dorazi adresën në dritaren e instalimit. Këtu është e rëndësishme të kujtojmë se duhet të çaktojmë rrugën e atij dosjeje ku ndodhet katalogu repodata. Për shembull, mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os.

Ndarja e diskut

Kyçja kĂ«tu duket mĂ« shumĂ« e besimit nga pikĂ«pamja ime. Çdo administrator ka pozitat e tij mbi kĂ«tĂ« çështje. Por unĂ« do tĂ« ndaj mendimin tim mbi kĂ«tĂ« çështje.

Po, në parim, mund të rezervoni gjithë hapësirën për rrënjën dhe do të funksionojë, shpesh tërësisht mirë. Pse të ndërtosh një ndarjen e ndryshme? - Shkaqet kryesore për këtë, sipas mendimit tim, janë 2: kuotat dhe portabiliteti.

Për shembull, nëse ndodhi ndonjë problem dhe në ndarjen kryesore me të dhënat shfaqen gabime, dëshiron të kesh mundësinë për të ngarkuar sistemin dhe për të bërë ndihmën e nevojshme. Prandaj, unë veçoj një ndarje të veçantë për /boot. Atje ndodhet bërthama dhe ngarkuesi. Zakonisht mjaftojnë 500 megabajt, por në raste të tjera mund të nevojiten më shumë, dhe duke marrë parasysh se tashmë jemi mësuar të matim hapësirën në terabajt, unë rezervoj 2GB për këtë ndarje. Këtu është e rëndësishme që ajo të mos bëhet lvm.

MĂ« pas vjen rrĂ«nja e sistemit. PĂ«r njĂ« instalim normal, asnjĂ«herĂ« nuk mĂ« ka nevojitur mĂ« shumĂ« se 4 GB pikĂ«risht pĂ«r sistemin, por gjatĂ« aktiviteteve tĂ« planifikuara shpesh pĂ«rdor katalogun /tmp pĂ«r tĂ« shpĂ«rbĂ«rĂ« distribucionet, dhe nuk ka kuptim ta dedikosh atĂ« pĂ«r njĂ« ndarje tĂ« veçantĂ« — nĂ« sistemet moderne ai pastron automatikisht, kĂ«shtu qĂ« nuk mbushet. Prandaj, pĂ«r rrĂ«njĂ«n, i dedikoj 8 GB.

Swap
 NĂ« thelb, ka pak pĂ«rfitim praktik prej tij. NĂ«se serveri juaj ka filluar tĂ« pĂ«rdorĂ« swap, sot nĂ« botĂ«n reale, kjo do tĂ« thotĂ« vetĂ«m se serverit i nevojitet mĂ« shumĂ« RAM. PĂ«rndryshe, problemet me performancĂ«n janĂ« tĂ« garantuara (ose ndonjĂ« program ka ‘rrjedhje’ kujtesĂ«). Prandaj, kjo ndarje Ă«shtĂ« e nevojshme vetĂ«m pĂ«r diagnostikim. KĂ«shtu qĂ« 2 GB Ă«shtĂ« njĂ« numĂ«r i shkĂ«lqyer. Po, pavarĂ«sisht se sa RAM ka serveri. Po, kam lexuar tĂ« gjitha ato artikuj qĂ« flasin pĂ«r marrĂ«dhĂ«nien midis volumit tĂ« kujtesĂ«s dhe volumit tĂ« swap-it
 IMHO, ato janĂ« tĂ« tejkaluara. NĂ« 10 vjet praktikĂ«, nuk mĂ« ka shĂ«rbyer asnjĂ«herĂ«. 15 vjet mĂ« parĂ« i pĂ«rdorja ato, po.

ÇfarĂ«do qĂ« tĂ« vendosni pĂ«r ndarjen e /home, mendoj se secili mund ta vendosĂ« vetĂ«. NĂ«se dikush do ta pĂ«rdorĂ« kĂ«tĂ« katalog nĂ« server, Ă«shtĂ« mĂ« mirĂ« ta ndash. NĂ«se askush nuk do ta pĂ«rdorĂ« — nuk ka nevojĂ«.

MĂ« pas, /var. Sipas mendimit tim, duhet tĂ« ndahen patjetĂ«r. Fillimisht, mund tĂ« kufizoheni nĂ« 4 GB, dhe pastaj do ta shihni se si shkon. Dhe po, nĂ«n ‘si shkon’ kam parasysh qĂ«

  1. Së pari, gjithmonë mund të montaroni një disk tjetër në nënkatalogun /var (çka do ta tregoj më poshtë me një shembull)
  2. SĂ« dyti, ne kemi LVM — gjithmonĂ« mund tĂ« shtoni. Dhe zakonisht duhet tĂ« shtoni kur ka shumĂ« skedarĂ« logs qĂ« fillojnĂ« tĂ« akumulohen aty. MirĂ«po, unĂ« kurrĂ« nuk kam arritur tĂ« parashikoj kĂ«tĂ« numĂ«r me kohĂ«, kĂ«shtu qĂ« filloj me 2 GB dhe pastaj shikoj.

Hapsira e papërdorur do të mbetet e lirë në grupin e volumit, dhe gjithmonë mund ta përdorni më vonë.

LVM

Të gjitha pjesët, përveç /boot ka kuptim të bëhen në LVM. Po, duke përfshirë swap. Po, sipas të gjitha rekomandimeve, swap duhet të jetë në fillim të diskut, dhe në rastin e LVM nuk mund të përcaktoni vendndodhjen e tij në përgjithësi. Por sikurse kam shkruar më lart, sistemi juaj nuk duhet të përdorë swap fare. Prandaj, nuk ka rëndësi ku ndodhet. Akoma nuk jetojmë në vitin '95, sinqerisht!

Më pas, në LVM ka disa entitete bazike me të cilat duhet të arrini të jetoni:

  • tomi fizik
  • grupi i tomave
  • tomi logjik

Tomat fizikë bashkohen në grupe, ku çdo tom fizik mund të jetë vetëm në një grup, ndërsa një grup mund të ndodhet në disa tomat fizikë.
Por tomat logjikë janë çdoherë në një grup.

Por
 Ne, mĂ« falni, pĂ«rsĂ«ri jemi nĂ« shekullin 21. Dhe serverat janĂ« virtualĂ«. Nuk ka kuptim tĂ« aplikohet e njĂ«jta mekanizĂ«m qĂ« Ă«shtĂ« pĂ«rdorur pĂ«r fizikĂ«t. Dhe pĂ«r virtualĂ«t, Ă«shtĂ« e rĂ«ndĂ«sishme tĂ« kemi tĂ« dhĂ«nat veç e veç nga sistemi! Kjo Ă«shtĂ« shumĂ« e rĂ«ndĂ«sishme veçanĂ«risht pĂ«r mundĂ«sinĂ« e kalimit tĂ« shpejtĂ« tĂ« tĂ« dhĂ«nave nĂ« njĂ« makinĂ« virtuale tjetĂ«r (pĂ«r shembull, kur kaloni nĂ« njĂ« sistem tĂ« ri operative) dhe gjithashtu pĂ«r gjĂ«ra tĂ« tjera tĂ« dobishme (backup tĂ« ndara me ndihmĂ«n e hipervizorit, pĂ«r shembull). Prandaj, njĂ« grup tomash pĂ«rdoret pĂ«r sistemin dhe patjetĂ«r njĂ« tjetĂ«r pĂ«rdoret pĂ«r tĂ« dhĂ«nat! Ky ndarje logjike ndihmon shumĂ« nĂ« jetĂ«n e pĂ«rditshme!

Nëse kur krijoni makinë virtuale krijoni vetëm një disk virtual, atëherë konfigurimi mbyllet këtu. Por nëse keni dy, atëherë thjesht mos e shënoni ende të dytin.

Nisni instalimin.

Pas instalimit

Ja, përfundimisht ngarkohet sistemi i ri të instaluar. E para që duhet të kontrolloni është interneti.

ping ya.ru

Ka pĂ«rgjigje? — ShkĂ«lqyeshĂ«m, shtypni Ctrl-C.
NĂ«se jo — dilni pĂ«r tĂ« konfiguruar rrjetin, pa kĂ«tĂ« nuk ka jetĂ«, por artikulli im nuk Ă«shtĂ« pĂ«r kĂ«tĂ«.

Tani nëse akoma nuk jemi nën root, hyjmë si root, sepse të shkruajmë këtë numër komandash me sudo është personalisht e lodhshme (dhe le të më falin adminët paranoidë):

sudo -i

Tani së pari shkruani

dnf -y update

Dhe nëse po e lexoni këtë artikull në vitin 2019, shumë mundësi që nuk do të ndodhi asgjë, por ia vlen të provohet.

Tani do të konfiguroni disku e mbetur

Le të themi se sipari me sistemin ishte xvda, atëherë disku me të dhënat do të jetë xvdb. OK.

Shumica e këshillave do të fillojnë me fjalët 'Nisni fdisk dhe krijoni një sipar...'

Pra, kjo është e gabuar!

Po them, do ta them pĂ«rsĂ«ri, sepse Ă«shtĂ« e rĂ«ndĂ«sishme! NĂ« kĂ«tĂ« rast, krijimi i partitions nĂ« njĂ« disk tĂ« vetĂ«m, megjithĂ«se virtual, kur punoni me LVM, Ă«shtĂ« e dĂ«mshme! NĂ« kĂ«tĂ« frazĂ«, çdo fjalĂ« ka rĂ«ndĂ«si. NĂ«se punojmĂ« pa LVM — Ă«shtĂ« e nevojshme. NĂ«se nĂ« disk kemi, tĂ« themi, sistemin dhe tĂ« dhĂ«nat — Ă«shtĂ« e nevojshme. NĂ«se ndonjĂ« arsye na bĂ«n tĂ« duam tĂ« lĂ«mĂ« gjysmĂ«n e diskut tĂ« lirĂ« — gjithashtu Ă«shtĂ« e nevojshme. Por zakonisht, tĂ« gjitha kĂ«to supozime janĂ« krejtĂ«sisht teorike. Sepse nĂ«se vendosim tĂ« shtojmĂ« hapĂ«sirĂ« nĂ« ndarjen ekzistuese, do tĂ« jetĂ« mĂ« e lehtĂ« ta bĂ«jmĂ« pikĂ«risht me kĂ«tĂ« konfigurim. Dhe lehtĂ«sia nĂ« administrimin kaq shumĂ« tejkalon shumĂ« faktorĂ« tĂ« tjerĂ«, saqĂ« ne qĂ«llimisht shkojmĂ« drejt kĂ«saj konfiguracioni.

Komoditeti Ă«shtĂ« qĂ«, nĂ«se dĂ«shiron tĂ« zgjerosh seksionin me tĂ« dhĂ«na, thjesht do tĂ« shtosh vende nĂ« seksionin virtual, pastaj zgjerosh grupin me vgextend dhe gjithçka Ă«shtĂ« gati! NĂ« raste tĂ« rralla mund tĂ« nevojitet diçka mĂ« shumĂ«, por tĂ« paktĂ«n nuk do tĂ« duhet tĂ« zgjerosh nĂ« fillim volumet logjike, qĂ« Ă«shtĂ« bukur. Sepse pĂ«r zgjerimin e kĂ«tij volumi rekomandohet fillimisht tĂ« heqĂ«sh atĂ« ekzistues dhe mĂ« pas tĂ« krijosh njĂ« tĂ« ri sipĂ«r
 QĂ« nuk duket aspak mirĂ« dhe nuk mund ta bĂ«sh nĂ« mĂ«nyrĂ« tĂ« drejtpĂ«rdrejtĂ«, ndĂ«rsa zgjerimi sipas skenarit qĂ« kam pĂ«rmendur mund tĂ« bĂ«het "nĂ« flakĂ«" pa e çmontuar seksionin.

Përfundimisht, krijojmë një volum fizik, pastaj grupin e volumit që e përfshin atë dhe më pas seksionin 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ësisë në GB), mund të tregosh të voglën dhe atëherë në vend të madhësisë absolute tregojmë të relative, për shembull, për të përdorur gjysmën e hapësirës aktualisht të lirë në grupin e volumit, duhet të tregosh "-l +50%FREE"

Dhe komandë e fundit formaton ndarjen në sistemin e skedarëve ext4 (i cili deri më tani në praktikat e mia tregon stabilitetin më të madh në rast se gjithçka ka dështuar, kështu që e preferoj atë).

Tani e montojmë ndarjen në vendin e duhur. Për këtë, shtojmë rreshtin e saktë në /etc/fstab:

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

Dhe shkruajmë

mount /var/www

NĂ«se ndodh ndonjĂ« gabim — bĂ«jmĂ« njĂ« alarm! Sepse kjo do tĂ« thotĂ« qĂ« kemi njĂ« gabim nĂ« /etc/fstab. Dhe qĂ« gjatĂ« rinisjes tjetĂ«r do tĂ« kemi shumĂ« probleme tĂ« mĂ«dha. Sistemi nuk mund tĂ« ngarkohet fare, gjĂ« qĂ« pĂ«r shĂ«rbimet cloud shpesh Ă«shtĂ« mjaft e trishtueshme. Prandaj, duhet tĂ« korrigjojmĂ« urgjentisht rreshtin e fundit tĂ« shtuar ose ta fshijmĂ« atĂ« krejtĂ«sisht! Prandaj, ne nuk e shkruam manualisht komandĂ«n e montimit — pĂ«rndryshe nuk do tĂ« kishim kĂ«tĂ« mundĂ«si tĂ« shkĂ«lqyer pĂ«r tĂ« bĂ«rĂ« njĂ« verifikim tĂ« konfigurimit menjĂ«herĂ«.

Tani vërtet do të instalojmë gjithçka që deshëm dhe hapim portet për web:

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

Për dëshirë mund të vendosni edhe një DB këtu, por personalisht unë përpiqem ta mbaj veçmas nga serveri i uebit. Megjithatë, ta mbash afër është më e shpejtë, po. Shpejtësia e adapterëve virtualë të rrjetit zakonisht është rreth një gigabit, dhe kur punoni në të njëjtën makinë, kërkesat ndodhin pothuajse menjëherë. Por kjo është më pak e sigurt. Këtu është çështja e rëndësisë për secilin.

Tani shtojmë parametrin në skedarin e konfigurimit (krijojmë një të ri, ideologjia moderne e CentOS-së është kështu)

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

Rinisen serverin.
Në komentet më kritikuan për këshillën për të çaktivizuar SeLinux, prandaj do të rregulloj dhe do të shkruaj se pas kësaj nuk duhet të harrosh të konfigurosh SeLinux-in.
Prandaj, fitimi! 🙂

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster