Web zerbitzaria CentOS 8-n php7, node.js eta redis-ekin

hitzaurrea

2 egun igaro dira CentOS sistema eragilearen bertsio berri bat kaleratu zenetik, CentOS 8 alegia. Eta orain arte Interneten artikulu dezente daude bertan gauzak nola egiten diren jakiteko, hutsune hori betetzea erabaki nuen. Gainera, programa pare hau nola instalatu ez ezik, mundu modernoan Linux ingurune birtualean instalatzea nola ikusten dudan ere esango dizut ohiko zereginetarako, diskoak partizionatzeko eta abar barne.

Baina hasieran, laburki hitz egin nahi dut zergatik merezi duen aurreko bertsio honetara aldatzea, eta bi arrazoi daude:

  1. php7! CentOS-en aurreko bertsioan, "Orthodox" php5.4 instalatu zen...

    Ados, apur bat serioagoa izateko, pakete askok hainbat bertsiotara jauzi egin zuten masiboki. Gu (redhat-en antzeko OSen zaleak) azkenean sartu gara, etorkizunean ez bada, orainaldian behintzat. Eta Ubunturen aldekoek ez digute gehiago barre egingo eta behatzak seinalatuko, ba... pixka bat behintzat ;).

  2. yum-tik dnf-rako trantsizioa. Desberdintasun nagusia da orain ofizialki onartzen dela paketeen hainbat bertsio aldi berean lan egiteko. Zortzian ez dut inoiz erabilgarria aurkitu, baina itxaropentsua dirudi.

Sortu makina birtual bat

Hipervisor desberdinak daude eta ez dut helbururik irakurlea zehatz bati egokitzeko, printzipio orokorrak kontatuko dizkizut.

ΠŸΠ°ΠΌΡΡ‚ΡŒ

Lehenengo... CentOS sistema bat instalatzeko 7tik hasita ziur, eta nire ustez 6-n ere hala izan zen ("baina hau ez da ziur"), behar duzu gutxieneko 2 GB RAM. Hori dela eta, lehenik eta behin hori ematea gomendatzen dizut.

Baina ezer bada, instalatu ondoren memoria-tamaina murriztu daiteke. 1 GB-rekin sistema biluziak nahiko ondo funtzionatzen du, egiaztatu nuen.

diskoan

Instalazio arrunt baterako, 20-30 GB-ko edukiera duen disko birtual bat sortu beharko zenuke. Hau nahikoa da sistemarako. Eta bigarren disko bat datuetarako. Makina birtual bat sortzeko fasean eta ondoren gehi daiteke. Normalean geroago gehitzen dut.

prozesadorea

Nukleo batean, sistema biluziak ez du moteltzen. Eta baliabideak libreki eskalagarriak direnez, ez dut ezer gehiago ematea instalazioaren fasean (baldintzak ondo ezagutzen ez badituzu eta berriro konfiguratzailean sartzeko alferra ez bazara).

Gainerakoa normalean lehenetsi gisa utzi daiteke.

Benetako instalazioa

Beraz... Abian dezagun instalatzailea... Pertsonalki, horrelako zerbitzuak makina birtualetan soilik instalatzen ari naiz denbora luzez, beraz, ez ditut deskribatuko era guztietako banaketa-erregistroak flash drive batean - muntatu besterik ez dut egin. ISOa nire gogoko hipervisorean CD gisa, deskargatu eta joan.

Oinarrizko instalazioa nahiko tipikoa da, puntu batzuetan bakarrik geldituko naiz.

Iturria hautatzea

Zortzigarren bertsioa kaleratu zenetik, Yandex-eko ispilua egunotan egon da. Tira, hau da, aldian-aldian igotzen da, eta gero berriro akats bat erakusten hasten da. Ziur nago zerbitzuaren gehiegizko karga dela eta. Horregatik, iturria adierazteko, pertsonalki, ohiko helbidea sartu beharrean, joan behar izan dut Hemen, hautatu han gustatzen zaidan ispilua eta sartu eskuz helbidea instalatzailearen leihoan. Garrantzitsua da gogoratzea hemen direktorioa dagoen karpetarako bidea zehaztu behar duzula repodata. Adibidez mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os.

Diskoen partizioa

Galdera hau erlijioso samarra da nire ustez. Administratzaile bakoitzak bere jarrera du gai honi buruz. Baina oraindik ere gaiari buruzko nire ikuspuntua partekatuko dut.

Bai, printzipioz, espazio osoa erroari esleitu diezaiokezu eta funtzionatuko du, gehienetan nahiko ondo. Zergatik hesitu orduan lorategi bat atal ezberdinekin? β€” Nire ustez, bi arrazoi nagusi daude horretarako: kuotak eta eramangarritasuna.

Esaterako, zerbait gaizki gertatzen bada eta datu-partizio nagusian akatsak gertatzen badira, sistema oraindik abiarazi eta suspertzeko neurriak egin ahal izatea nahi duzu. Hori dela eta, pertsonalki partizio bereizi bat esleitzen dut /boot-erako. Nukleoa eta abio-kargatzailea daude. Normalean 500 megabyte nahikoa izaten dira, baina kasu bakanetan gehiago beharko dira, eta dagoeneko terabytetan lekua neurtzera ohituta gaudenez, 2GB jartzen ditut atal honetarako. Eta hemen garrantzitsuena da ezin dela egin lvm.

Ondoren, sistemaren erroa dator. Instalazio arrunt baterako, ez dut inoiz 4 GB baino gehiago behar sistema bakoitzeko, baina programatutako ekitaldietan askotan /tmp direktorioa erabiltzen dut banaketak deskonprimitzeko, eta ez dut ezertarako balio partizio bereizi batera dedikatzeari, sistema modernoetan. automatikoki garbitzen da, beraz, ez da betetzen. Beraz, 8GB esleitu ditut errorako.

Trukatu... Oro har, erabilera praktiko gutxi du. Zure zerbitzarian swap erabiltzen hasten bazara, gaur egun mundu errealean horrek zerbitzariak RAM gehiago gehitu behar duela esan nahi du. Bestela, errendimenduarekin arazoak bermatuta daude (edo programaren batek memoria "filtratzen" du). Beraz, atal hau diagnostikorako soilik behar da. Beraz, 2 GB kopuru bikaina da. Bai, zerbitzarian zenbat memoria dagoen kontuan hartu gabe. Bai, irakurri ditut artikulu horiek guztiak non idatzita dagoen memoria-bolumenaren eta trukatzeko bolumenaren proportzioari buruz... IMHO, zaharkituta daude. 10 urteko praktikan ez dut inoiz hau behar. Duela 15 urte erabili nituen, bai.

Nire ustez, bakoitzak bere kabuz erabaki dezake /home partizio bereizi batean esleitu ala ez. Zerbitzariko norbaitek direktorio hau aktiboki erabiliko badu, hobe da esleitzea. Inor ez bada, ez dago beharrik.

Jarraian, /var. Nire ustez, zalantzarik gabe nabarmendu behar da. Hasteko, 4 GBra muga zaitezke, eta ikusi nola doan. Eta bai, β€œnola doan” esan nahi dut

  1. Lehenik eta behin, beti beste disko bat munta dezakezu /var azpidirektorioan (gero adibide batekin erakutsiko dudana)
  2. Bigarrenik, lvm dugu - beti gehi dezakezu. Eta normalean enbor gehiegi isurtzen hasten direnean gehitu behar duzu. Baina inoiz ez dut zifra hau aurreikusteko gai izan, beraz, 2 GBrekin hasten naiz eta gero ikusten dut.

Esleitu gabeko espazioa libre geratuko da bolumen-taldean eta beti erabili ahal izango da geroago.

LVM

Guztiak Zentzuzkoa da /boot ez beste partizioak egitea LVMn. Bai, trukea barne. Bai, aholku guztien arabera, trukea diskoaren hasieran egon behar da, baina LVMren kasuan ezin da printzipioz bere kokapena zehaztu. Baina goian idatzi dudan bezala, zure sistema ez luke behar erabili swap batere. Horregatik, berdin dio non dagoen. Tira, ez gara 95ean bizi, egia esan!

Gainera, LVMn bizi ahal izateko oinarrizko hainbat entitate daude:

  • bolumen fisikoa
  • bolumen taldea
  • bolumen logikoa

Bolumen fisikoak taldetan konbinatzen dira, eta bolumen fisiko bakoitza talde bakarrean egon daiteke, eta talde bat hainbat bolumen fisikotan kokatu daiteke aldi berean.
Eta bolumen logikoak talde batean daude bakoitza.

Baina... Arraioa, berriz ere XXI. Eta zerbitzariak birtualak dira. Ez du zentzurik haiei fisikoei aplikatzen zitzaizkien mekanismo berberak aplikatzeak. Eta birtualentzat garrantzitsua da datuak sistematik bereizita edukitzea! Hau oso garrantzitsua da, batez ere datuak beste makina birtual batera azkar aldatzeko (adibidez, sistema eragile berri batera aldatzean) eta, oro har, era guztietako onura baliagarrietarako (bereizi babeskopiak partizioen bidez hipervisore tresnak erabiliz, adibidez) . Hori dela eta, bolumen-talde bat erabiltzen da sistemarako eta nahitaez beste bat datuetarako! Zatiketa logiko honek asko laguntzen du bizitzan!

Makina birtual bat sortzean disko gogor birtual bakarra sortu baduzu, hemen amaitzen da konfigurazioa. Eta bi badira, ez markatu bigarrena oraindik.

Hasi gaitezen instalazioa.

Instalazio ostekoa

Beraz, instalatu berria den sistema abiarazi zen azkenean. Egiaztatu behar duzun lehen gauza Internet da.

ping ya.ru

Ba al dago erantzunik? - Bikaina, sakatu Ctrl-C.
Hala ez bada, joan sare bat konfiguratzera, hau gabe ez dago bizitzarik, baina ez da horretaz nire artikulua.

Orain oraindik ez bagaude root azpian, joan root azpian, idazten delako hau sudo-rekin egindako komando kopuruak pertsonalki hautsi egin ninduen (eta administratzaile paranoikoek barka diezadatela):

sudo -i

Orain egiten dugun lehenengo gauza idaztea da

dnf -y update

Eta 2019an artikulu hau irakurtzen ari bazara, ziurrenik ez da ezer gertatuko, baina merezi zuen saiatzea.

Orain konfigura dezagun geratzen den diskoa

Demagun sistemaren partizioa xvda zela, orduan datu-diskoa xvdb izango dela. ADOS.

Aholku gehienak "Exekutatu fdisk eta sortu partizioa..."-rekin hasiko dira.

Beraz, hau da gaizki!

Berriro esango dut oso garrantzitsua delako! Kasu honetan, disko birtual oso bat okupatzen duen LVM-rekin lan egitea, bertan partizioak sortzea kaltegarria da! Esaldi honetako hitz bakoitza garrantzitsua da. LVM gabe lan egiten badugu, behar dugu. Diskoan sistema eta datuak baditugu, behar ditugu. Arrazoiren bategatik diskoaren erdia hutsik utzi behar badugu, guk ere egin beharko genuke. Baina, normalean, hipotesi horiek guztiak teoriko hutsak dira. Lehendik dagoen partizio bati espazioa gehitzea erabakitzen badugu, hori egiteko modurik errazena konfigurazio honekin da. Eta administrazioaren erraztasunak beste gauza asko baino gehiago gainditzen ditu, non nahita goaz konfigurazio honetara.

Eta erosotasuna da datuen partizioa zabaldu nahi baduzu, partizio birtualean espazioak gehitzea besterik ez duzu, gero taldea vgextend erabiliz zabaldu eta kitto! Kasu bakanetan, baliteke beste zerbait behar izatea, baina gutxienez ez duzu bolumen logikoa zabaldu beharko hasieran, hori jada polita da. Bestela, bolumen hori bera zabaltzeko, lehendik dagoena ezabatzea gomendatzen dute, eta ondoren berri bat sortzea gainean... Ez dirudi oso polita eta ezin da zuzenean egin, baina nik adierazitako eszenatokiaren arabera zabaltzea izan daiteke. partizioa desmuntatu ere egin gabe egin da β€œheganean”.

Beraz, bolumen fisiko bat sortzen dugu, gero barne hartzen duen bolumen talde bat eta gero gure zerbitzarirako partizioa:

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

Hemen, "L" letra larriaren ordez (eta tamaina GB-n), txiki bat zehaztu dezakezu, eta, ondoren, tamaina absolutu baten ordez, erlatibo bat zehaztu, adibidez, une honetan libre dagoen espazioaren erdia erabiltzeko. bolumen-talde bat, "-l +%50 DOAN" zehaztu behar duzu

Eta azken komandoak ext4 fitxategi-sisteman formateatzen du partizioa (orain arte, nire esperientziaren arabera, egonkortasunik handiena erakusten du dena apurtzen bada, beraz, nahiago dut).

Orain partizioa leku egokian muntatzen dugu. Horretarako, gehitu lerro zuzena /etc/fstab-era:

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

Eta markatzen dugu

mount /var/www

Akatsen bat gertatzen bada, piztu alarma! Horrek esan nahi baitu /etc/fstab-en errore bat dugula. Eta hurrengo berrabiaraztean arazo oso handiak izango ditugula. Baliteke sistema batere ez abiarazi, eta hori sarritan oso tristea da hodeiko zerbitzuetarako. Hori dela eta, beharrezkoa da gehitutako azken lerroa berehala zuzentzea edo guztiz ezabatu! Horregatik ez dugu muntatzeko komandoa eskuz idatzi; orduan ez genuke hain aukera bikaina izango konfigurazioa berehala egiaztatzeko.

Orain benetan nahi genuen guztia instalatzen dugu eta sarerako portuak irekitzen ditugu:

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

Nahi baduzu, hemen datu-base bat ere jar dezakezu, baina pertsonalki web zerbitzaritik bereizita mantentzen saiatzen naiz. Gertutik mantentzea azkarragoa den arren, bai. Sareko egokitzaile birtualen abiadura gigabit ingurukoa izan ohi da, eta makina berean lan egiten denean, ia berehala gertatzen dira deiak. Baina ez da hain segurua. Zer da garrantzitsuena norentzat?

Orain parametroa gehitzen dugu konfigurazio fitxategian (berri bat sortzen dugu, CentOSen ideologia modernoa honelakoa da)

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

Zerbitzaria berrabiaraziko dugu.
Iruzkinetan, errieta egin zidaten SeLinux desaktibatzeko aholkatzeagatik, beraz, nire burua zuzendu eta idatziko dut honen ondoren SeLinux konfiguratzea gogoratu behar duzula.
Egia esan, irabazi! πŸ™‚

Iturria: www.habr.com

Gehitu iruzkin berria