Web serveris uz CentOS 8 ar php7, node.js un redis

priekŔvārds

Ir pagājuÅ”as 2 dienas kopÅ” jaunas CentOS operētājsistēmas versijas izlaiÅ”anas, proti, CentOS 8. Un lÄ«dz Å”im internetā ir diezgan daudz rakstu par to, kā tajā tiek darÄ«ts, tāpēc nolēmu Å”o robu aizpildÄ«t. Turklāt es jums pastāstÄ«Å”u ne tikai par to, kā instalēt Å”o programmu pāri, bet arÄ« par to, kā es parasti redzu Linux instalÄ“Å”anu virtuālajā vidē mÅ«sdienu pasaulē, lai veiktu tipiskus uzdevumus, tostarp disku sadalÄ«Å”anu un tā tālāk.

Bet sākumā es vēlos Ä«si runāt par to, kāpēc ir vērts pāriet uz Å”o versiju no visām iepriekŔējām, un tam ir divi iemesli:

  1. php7! IepriekŔējā CentOS versijā tika instalēts ā€œOrthodoxā€ php5.4...

    Labi, lai bÅ«tu mazliet nopietnāk, daudzas paketes masveidā izlēca cauri vairākām versijām. Mēs (redhat lÄ«dzÄ«go OS cienÄ«tāji) beidzot esam iekļuvuÅ”i ja ne nākotnē, tad vismaz tagadnē. Un Ubuntu atbalstÄ«tāji par mums vairs nesmiesies un nerādÄ«s ar pirkstiem, nu... vismaz kādu laiku ;).

  2. Pāreja no yum uz dnf. Galvenā atŔķirÄ«ba ir tā, ka tagad tiek oficiāli atbalstÄ«ts darbs ar vairākām pakotņu versijām vienlaikus. TieÅ”i astoņniekā man tas nekad nav Ŕķitis noderÄ«gs, taču tas izklausās daudzsoloÅ”i.

Izveidojiet virtuālo maŔīnu

Ir dažādi hipervizori, un man nav mērÄ·a pielāgot lasÄ«tāju konkrētam, es jums pastāstÄ«Å”u par vispārÄ«gajiem principiem.

Atmiņa

Pirmkārt... Lai noteikti instalētu CentOS sistēmu, sākot no 7, un, manuprāt, tā bija arÄ« 6 (ā€œbet tas nav droÅ”iā€), jums ir nepiecieÅ”ams minimums 2 GB RAM. Tāpēc es iesaku vispirms izdalÄ«t tik daudz.

Bet, ja kas, pēc instalÄ“Å”anas atmiņas apjomu var samazināt. Pie 1 GB tukŔā sistēma darbojas diezgan labi, es pārbaudÄ«ju.

disks

Normālai instalÄ“Å”anai jums vajadzētu izveidot virtuālo disku ar ietilpÄ«bu 20-30 GB. Ar to sistēmai pietiek. Un otrs disks datiem. To var pievienot gan virtuālās maŔīnas izveides posmā, gan pēc tam. Es to parasti pievienoju vēlāk.

procesors

Vienā kodolā tukŔā sistēma nepalēninās. Un tā kā resursi ir brÄ«vi mērogojami, es neredzu jēgu dot vairāk instalÄ“Å”anas stadijā (ja vien jÅ«s nepārzināt prasÄ«bas un esat pārāk slinks, lai vēlreiz iedziļināties konfiguratorā).

Pārējo parasti var atstāt kā noklusējuma iestatījumu.

Faktiskā uzstādīŔana

Tātad... Palaižam instalētāju... PersonÄ«gi es ilgu laiku instalēju Ŕādus servisus tikai virtuālo maŔīnu veidā, tāpēc visādus izplatÄ«Å”anas ierakstus zibatmiņā neaprakstÄ«Å”u - vienkārÅ”i montēju ISO kā kompaktdisku manā iecienÄ«tākajā hipervizorā, lejupielādējiet un dodieties.

Pamatinstalācija ir diezgan tipiska, es pakavÄ“Å”os tikai pie dažiem punktiem.

Avota izvēle

KopÅ” astotās versijas izlaiÅ”anas Yandex spogulis ir nogulējis vairākas dienas. Tas ir, tas periodiski paaugstinās un pēc tam atkal sāk rādÄ«t kļūdu. Esmu pārliecināts, ka tas ir saistÄ«ts ar pārmērÄ«gu pakalpojuma slodzi. Tāpēc, lai norādÄ«tu avotu, man personÄ«gi bija jāievada tā vietā, lai ievadÄ«tu parasto adresi Å”eit, atlasiet spoguli, kas man tur patÄ«k, un manuāli ievadiet adresi instalÄ“Å”anas logā. Å eit ir svarÄ«gi atcerēties, ka jānorāda ceļŔ uz mapi, kurā atrodas direktorijs repodata. Piemēram, mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os.

Diska sadalīŔana

Šis jautājums, manuprāt, ir diezgan reliģiozs. Katram administratoram ir sava nostāja Ŕajā jautājumā. Bet es joprojām dalīŔos ar savu viedokli Ŕajā jautājumā.

Jā, principā var atvēlēt visu vietu saknei un tas darbosies, visbiežāk pat diezgan labi. Kāpēc tad iežogot dārzu ar dažādām sekcijām? ā€” Manuprāt, tam ir divi galvenie iemesli: kvotas un pārnesamÄ«ba.

Piemēram, ja kaut kas noiet greizi un galvenajā datu nodalÄ«jumā rodas kļūdas, jÅ«s vēlaties, lai joprojām varētu palaist sistēmu un veikt atdzÄ«vināŔanas pasākumus. Tāpēc es personÄ«gi pieŔķiru /boot atseviŔķu nodalÄ«jumu. Ir kodols un sāknÄ“Å”anas ielādētājs. Parasti pietiek ar 500 megabaitiem, bet retos gadÄ«jumos var bÅ«t nepiecieÅ”ams vairāk, un, ņemot vērā, ka mēs jau esam pieraduÅ”i vietu mērÄ«t terabaitos, es Å”ai sadaļai atvēlu 2 GB. Un Å”eit galvenais ir tas, ka to nevar izdarÄ«t lvm.

Tālāk nāk sistēmas sakne. Normālai instalācijai man nekad nav bijis vajadzÄ«gs vairāk par 4 GB vienai sistēmai, bet plānoto notikumu laikā es bieži izmantoju /tmp direktoriju, lai izsaiņotu izplatÄ«jumus, un neredzu jēgu to veltÄ«t atseviŔķam nodalÄ«jumam - mÅ«sdienu sistēmās. tas tiek notÄ«rÄ«ts automātiski, tāpēc tas netiek piepildÄ«ts. Tāpēc saknei pieŔķiru 8GB.

ApmainÄ«t... Pa lielam praktiski no tā ir maz jēgas. Ja sākat izmantot mijmaiņas pakalpojumu savā serverÄ«, Å”odien reālajā pasaulē tas nozÄ«mē tikai to, ka serverim ir jāpievieno vairāk RAM. Pretējā gadÄ«jumā tiek garantētas problēmas ar veiktspēju (vai kādai programmai ā€œnoplÅ«stā€ atmiņa). Tāpēc Ŕī sadaļa ir nepiecieÅ”ama tikai diagnostikas nolÅ«kos. Tāpēc 2 GB ir lielisks skaitlis. Jā, neatkarÄ«gi no tā, cik daudz atmiņas ir serverÄ«. Jā, es izlasÄ«ju visus tos rakstus, kur rakstÄ«ts par atmiņas apjoma attiecÄ«bu pret mijmaiņas apjomu... IMHO, tie ir novecojuÅ”i. 10 gadu praksē man tas nekad nav bijis vajadzÄ«gs. Pirms 15 gadiem es tos izmantoju, jā.

IMHO, katrs var pats izlemt, vai iedalīt /home atseviŔķā nodalījumā. Ja kāds serverī aktīvi izmantos Ŕo direktoriju, labāk to pieŔķirt. Ja nav neviena, nav vajadzības.

Nākamais, /var. Manuprāt, tas noteikti ir jāizceļ. Sākumā varat ierobežot sevi lÄ«dz 4 GB un redzēt, kā tas notiek. Un jā, ar ā€œkā tas notiekā€ es to domāju

  1. Pirmkārt, jÅ«s vienmēr varat pievienot citu disku apakÅ”direktorijā /var (ko es parādÄ«Å”u vēlāk ar piemēru)
  2. Otrkārt, mums ir lvm - vienmēr var pievienot. Un parasti tas ir jāpievieno, kad tur sāk birt pārāk daudz baļķu. Bet es nekad neesmu varējis iepriekÅ” paredzēt Å”o skaitli, tāpēc es sāku ar 2 GB un tad skatos.

NepieŔķirtā vieta sējumu grupā paliks brÄ«va, un to vienmēr varēs izmantot vēlāk.

LVM

Viss Ir jēga LVM izveidot citus nodalÄ«jumus, nevis /boot. Jā, ieskaitot maiņu. Jā, pēc visiem padomiem, swap vajadzētu bÅ«t diska sākumā, bet LVM gadÄ«jumā tā atraÅ”anās vietu principā noteikt nevar. Bet, kā jau rakstÄ«ju iepriekÅ”, jÅ«su sistēma nevajadzētu izmantot mijmaiņas darÄ«jumus vispār. Tāpēc nav svarÄ«gi, kur viņŔ atrodas. Nu, godÄ«gi sakot, mēs nedzÄ«vojam 95. gadā!

Turklāt LVM ir vairākas pamata entītijas, ar kurām jums ir nepiecieŔams sadzīvot:

  • fiziskais apjoms
  • apjoma grupa
  • loÄ£iskais apjoms

Fiziskie apjomi tiek apvienoti grupās, un katrs fiziskais apjoms var būt tikai vienā grupā, un grupa var atrasties vairākos fiziskajos apjomos vienlaikus.
Un loģiskie apjomi ir katrs vienā grupā.

Bet... SasodÄ«ts, atkal ir 21. gadsimts. Un serveri ir virtuāli. Nav jēgas tiem piemērot tos paÅ”us mehānismus, kas tika piemēroti fiziskajiem. Un virtuālajiem ir svarÄ«gi, lai dati bÅ«tu atseviŔķi no sistēmas! Tas ir ļoti svarÄ«gi, jo Ä«paÅ”i attiecÄ«bā uz iespēju ātri pārslēgt datus uz citu virtuālo maŔīnu (piemēram, pārejot uz jaunu OS) un kopumā visu veidu noderÄ«giem labumiem (piemēram, atseviŔķi dublējumkopijas pa nodalÄ«jumiem, izmantojot hipervizora rÄ«kus). . Tāpēc sistēmai tiek izmantota viena apjoma grupa, bet datiem obligāti cita! Å is loÄ£iskais dalÄ«jums dzÄ«vē ļoti palÄ«dz!

Ja, veidojot virtuālo maŔīnu, izveidojāt tikai vienu virtuālo cieto disku, konfigurācija beidzas Å”eit. Un, ja ir divi, tad vienkārÅ”i vēl neatzÄ«mējiet otro.

Sāksim instalÄ“Å”anu.

PēcinstalÄ“Å”ana

Tātad nesen instalētā sistēma beidzot tika palaista. Pirmā lieta, kas jums jāpārbauda, ā€‹ā€‹ir internets.

ping ya.ru

Vai ir atbilde? - Lieliski, nospiediet Ctrl-C.
Ja nē, izveidojiet tīklu, bez tā nav dzīves, taču mans raksts nav par to.

Tagad, ja mēs vēl neesam zem saknes, dodieties zem saknes, jo rakstot ir komandu skaits ar sudo mani personīgi salauza (un lai paranoiskie administratori man piedod):

sudo -i

Tagad pirmā lieta, ko mēs darām, ir rakstīt

dnf -y update

Un, ja jÅ«s lasāt Å”o rakstu 2019. gadā, visticamāk, nekas nenotiks, taču bija vērts mēģināt.

Tagad konfigurēsim atlikuÅ”o disku

Pieņemsim, ka nodalījums ar sistēmu bija xvda, tad datu disks būs xvdb. LABI.

Lielākā daļa padomu sāksies ar ā€œPalaidiet fdisk un izveidojiet nodalÄ«jumu...ā€

Tātad Ŕis ir nepareizi!

Es to atkārtoÅ”u, jo tas ir tik svarÄ«gi! Å ajā gadÄ«jumā strādāt ar LVM, kas aizņem vienu veselu virtuālo disku, tajā izveidot nodalÄ«jumus ir kaitÄ«gi! Katrs vārds Å”ajā frāzē ir svarÄ«gs. Ja strādājam bez LVM, vajag. Ja mums ir sistēma un dati diskā, mums tas ir vajadzÄ«gs. Ja kāda iemesla dēļ mums ir jāatstāj puse diska tukÅ”a, arÄ« mums tas jādara. Bet parasti visi Å”ie pieņēmumi ir tÄ«ri teorētiski. Jo, ja mēs nolemjam pievienot vietu esoÅ”am nodalÄ«jumam, tad vienkārŔākais veids, kā to izdarÄ«t, ir ar Å”o konfigurāciju. Un administrÄ“Å”anas vieglums tik ļoti atsver daudzas citas lietas, ka mēs mērÄ·tiecÄ«gi virzāmies uz Å”o konfigurāciju.

Un ērtÄ«bas ir tādas, ka, ja vēlaties paplaÅ”ināt datu nodalÄ«jumu, vienkārÅ”i pievienojiet atstarpes virtuālajam nodalÄ«jumam, pēc tam paplaÅ”iniet grupu, izmantojot vgextend, un viss! Retos gadÄ«jumos var bÅ«t nepiecieÅ”ams kaut kas cits, bet vismaz sākumā nebÅ«s jāpaplaÅ”ina loÄ£iskais apjoms, kas jau ir jauki. Pretējā gadÄ«jumā, lai paplaÅ”inātu tieÅ”i Å”o apjomu, viņi iesaka vispirms dzēst esoÅ”o, un tad izveidot jaunu pa virsu... Kas neizskatās Ä«paÅ”i jauki un nav izdarāms tieÅ”raidē, bet paplaÅ”ināŔana pēc manis norādÄ«tā scenārija var bÅ«t veikts ā€œlidojumāā€, pat neatmontējot nodalÄ«jumu.

Tātad, mēs izveidojam fizisku sējumu, pēc tam sējumu grupu, kurā tas ir, un pēc tam mūsu servera nodalījumu:

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

Å eit lielā burta ā€œLā€ vietā (un izmēru GB) varat norādÄ«t mazu un pēc tam absolÅ«tā izmēra vietā norādÄ«t relatÄ«vu, piemēram, lai izmantotu pusi no Å”obrÄ«d brÄ«vās vietas. sējuma grupai, jānorāda ā€œ-l +50%FREEā€

Un pēdējā komanda formatē nodalÄ«jumu ext4 failu sistēmā (kas lÄ«dz Å”im, pēc manas pieredzes, parāda vislielāko stabilitāti gadÄ«jumā, ja viss sabojājas, tāpēc es dodu priekÅ”roku tam).

Tagad mēs uzstādām nodalījumu pareizajā vietā. Lai to izdarītu, pievienojiet pareizo rindu /etc/fstab:

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

Un mēs zvanām

mount /var/www

Ja rodas kļūda, zvaniet! Jo tas nozÄ«mē, ka mums ir kļūda /etc/fstab. Un ka nākamajā atsāknÄ“Å”anas reizē mums bÅ«s ļoti lielas problēmas. Sistēma var nebÅ«t sāknēta, kas bieži vien ir ļoti skumji mākoņpakalpojumiem. Tāpēc ir vai nu steidzami jālabo pēdējā pievienotā rinda, vai arÄ« jādzÄ“Å” pavisam! Tāpēc mēs nerakstÄ«jām mount komandu manuāli - tad mums nebÅ«tu bijusi tik lieliska iespēja uzreiz pārbaudÄ«t konfigurāciju.

Tagad mēs faktiski instalējam visu, ko vēlējāmies, un atveram portus tīmeklim:

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

Ja vēlaties, varat Å”eit ievietot arÄ« datu bāzi, bet es personÄ«gi cenÅ”os to turēt atseviŔķi no tÄ«mekļa servera. Lai gan turēt viņu tuvumā ir ātrāk, jā. Virtuālo tÄ«kla adapteru ātrums parasti ir aptuveni gigabits, un, strādājot ar vienu un to paÅ”u maŔīnu, zvani notiek gandrÄ«z acumirklÄ«. Bet tas ir mazāk droÅ”s. Kas kuram ir svarÄ«gāks?

Tagad mēs pievienojam parametru konfigurācijas failam (veidojam jaunu, CentOS mÅ«sdienu ideoloÄ£ija ir Ŕāda)

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

Mēs restartējam serveri.
Komentāros saņēmu pārmetumu par ieteikumu izslēgt SeLinux, tāpēc laboÅ”os un uzrakstÄ«Å”u par to, ka pēc Ŕī jāatceras SeLinux konfigurēt.
PatiesÄ«bā peļņa! šŸ™‚

Avots: www.habr.com

Pievieno komentāru