Veebiserver CentOS 8-l koos php7, node.js ja redisiga

EessÔna

Kaks pĂ€eva tagasi ilmus uus CentOS operatsioonisĂŒsteemi versioon, nimelt CentOS 8. Hetkel on internetis ĂŒsna vĂ€he artikleid selle kohta, kuidas selles midagi teha, seetĂ”ttu otsustasin selle lĂŒnga tĂ€ita. RÀÀgin mitte ainult sellest, kuidas need paar programmi paigaldada, vaid ka sellest, kuidas ma ĂŒldiselt nĂ€en Linuxi installimist virtuaalsesse keskkonda kaasaegses maailmas tĂŒĂŒpiliste ĂŒlesannete jaoks, sealhulgas ketaste partitsioneerimise ja muu ĂŒle.

Aga kĂ”igepealt tahan lĂŒhidalt rÀÀkida, miks tasub sellele versioonile ĂŒle minna kĂ”igilt eelmistelt, ja sellele on lausa kaks pĂ”hjust:

  1. php7! Eelmises CentOS versioonis paigaldati "Ôigeusklik" php5.4 ...

    Kuid tĂ”sisemalt öeldes on palju pakette korraga mitu versiooni vahele jĂ€tnud. Me (redhat'iga sarnaste OSide austajad) oleme lĂ”puks jĂ”udnud, kui mitte tulevikku, siis vĂ€hemalt kĂ€esolevasse aega. Ja Ubuntu toetajad ei naera enam meie ĂŒle ega osuta meile sĂ”rmega, noh... vĂ€hemalt mĂ”nda aega ;).

  2. Üleminek yumilt dnfile. Peamine erinevus on see, et nĂŒĂŒd toetatakse ametlikult töötamist kohe mitme versiooniga pakettide osas. Just kaheksas versioonis pole mul seda kordagi veel vaja lĂ€inud, kuid see kĂ”lab lubavalt.

Virtuaalmasina loomine

Hyperviisorid on erinevad ja mul ei ole eesmĂ€rki lugejat konkreetseks suunata, rÀÀgin ĂŒldistest pĂ”himĂ”tetest.

MĂ€lu

Esimene ... CentOS sĂŒsteemi installimiseks alates 7. versioonist kindlasti pĂ”hjusel, et vĂ€hemalt 6. versioonis oli see samuti nii ("aga see ei ole tĂ€pselt kindel"), on vajalik minimaalselt 2 GB RAM-i. SeetĂ”ttu soovitan alguses nii palju anda.

Aga kui nii, siis pĂ€rast installimist saab mĂ€lu mahtu ka vĂ€hendada. 1 GB sisseehitatud sĂŒsteem töötab tĂ€iesti normaalselt, olen proovinud.

Kettaruum

Normaalseks installimiseks tuleks luua virtuaalne ketas mahuga 20-30 GB. Seda jagub sĂŒsteemile. Ja teise kettana andmete jaoks. Selle saab lisada nii virtuaalse masina loomise etapis kui ka hiljem. Mina lisandan tavaliselt hiljem.

Protsessor

Ühel tuumal ei aeglusta puhas sĂŒsteem. Ja kuna ressursse saab vabalt skaleerida, ei nĂ€e ma mĂ”tet anda installimise etapis rohkem (kui te ei tea tĂ€pselt nĂ”udmisi ja ei viitsi taas konfigureerimisega tegeleda).

ÜlejÀÀnud vĂ”ib tavaliselt jĂ€tta vaikimisi.

Tegelikult installimine

Nii
 KĂ€ivitan installerit
 Isiklikult installin selliseid teenuseid juba ammu ainult virtuaalmasinate kujul, seega ei hakka ma kirjeldama erinevaid distributsi salvestamise meetodeid USB-le — lihtsalt monteerin ISO lemmik hĂŒperviisoris CD-diskina, booti ja lĂ€ksime.

PĂ”hiline installatsioon toimub ĂŒsna tĂŒĂŒpiliselt, peatun ainult mĂ”nel hetkel.

Allika valik

Alates kaheksanda versiooni vÀljumisest on Yandexi peegel olnud juba mitu pÀeva maas. No, see tÀhendab, et see aeg-ajalt tÔuseb, kuid siis hakkab jÀlle viga nÀitama. Olen kindel, et probleem on teenusele liiga suure koormuse tÔttu. SeetÔttu pidin allika nÀitamiseks selle asemel, et sisestada harjumuspÀrane aadress, minema siia, valima sealt meelepÀrase peegli ja sisestama aadressi installeri aknas kÀsitsi. Siin on oluline meeles pidada, et tuleb nÀidata teed sinna kausta, kus asub kataloog repodata. NÀiteks, mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os.

Ketta jagamine

See kĂŒsimus on minu arvates pigem religioosne. Igal adminil on selle kohta oma seisukoht. Kuid ma siiski jagan oma arvamust selle kĂŒsimuse osas.

Jah, pĂ”himĂ”tteliselt vĂ”ib kogu ruumi eraldada juurte jaoks ja see töötab, enamikul juhtudel isegi ĂŒsna hĂ€sti. Miks siis pidada erinevaid jaotusi? — Peamised pĂ”hjused on minu arvates 2: kvotid ja ĂŒlekantavus.

NĂ€iteks, kui midagi lĂ€heb valesti ja peamisel andmejaotusel tekivad vead, siis soovid endiselt sĂŒsteemi ĂŒles saada ja teostada taastamismeetmeid. SeetĂ”ttu eraldan ma isiklikult eraldi jaotuse /boot jaoks. Seal asub kernel ja laadija. Tavaliselt piisab 500 megabaidist, kuid harvadel juhtudel vĂ”ib olla vajalik rohkem, ja arvestades, et oleme juba harjunud mÔÔtma ruumi terabaitides, eraldan selle jaotuse jaoks 2GB. Ja siin on oluline, et seda ei saa teha lvm.

SeejĂ€rel tuleb sĂŒsteemi juur. Normaalne installatsioon ei ole kunagi nĂ”udnud rohkem kui 4 GB sĂŒsteemi jaoks, kuid korraliste tööde ajal kasutan ma sageli katalooge /tmp distributsioonide puhastamiseks ja ei nĂ€e mĂ”tet eraldada seda eraldi jaotuseks — tĂ€napĂ€evastes sĂŒsteemides puhastatakse see automaatselt, seega ei tĂ€itu. Nii et juure jaoks eraldan 8GB.

Vahetus... Tegelikult on sellest vĂ€he praktilist kasu. Kui teie serveris on vahetust kasutama hakatud, tĂ€hendab see reaalses maailmas, et serverile tuleb lisada rohkem RAM-i. Vastasel juhul on jĂ”udluse probleemid garanteeritud (vĂ”i mĂ”ni programm 'lekib' mĂ€lu). Seega on see jagu vajalik ainult diagnostikaks. 2 GB on hea number. Jah, sĂ”ltumata sellest, kui palju mĂ€lu serveris on. Jah, ma olen lugenud kĂ”iki neid artikleid, kus rÀÀgitakse mĂ€lu ja vahetuse mahu suhetest
 Isiklikult arvan, et need on vananenud. 10 aasta praktika jooksul pole see kunagi mind aidanud. 15 aastat tagasi kasutasin neid kĂŒll.

Kas jaotada /home eraldi jaotuseks, arvan, et igaĂŒks vĂ”ib ise otsustada. Kui keegi kasutab seda katalooge serveris aktiivselt, on parem see eraldi teha. Kui ei, siis pole see vajalik.

Edasi, /var. Minu arvates tuleks see kindlasti eraldi jaguna kasutada. Alguses vÔib alustada 4 GB-ga, ja siis vaadata, kuidas see edasi lÀheb. Ja jah, 'kuidas lÀheb' tÀhendab, et

  1. Esiteks, alati vÔib mountida teise ketta alamkausta /var (mida ma nÀitan hiljem nÀite kaudu)
  2. Teiseks, meil on ju LVM — alati saab lisada. Ja lisama peab tavaliselt siis, kui hakkab liiga palju logisid kuhjuma. Kuid ma ei ole kunagi suutnud seda numbrit ette ennustada, nii et alustan 2 GB-st ja siis vaatan.

Jaotamata ruum jÀÀb vaba mahugruppi, seda saab hiljem alati kasutada.

LVM

Kogu jaotused, vĂ€lja arvatud /boot, on mĂ”istlik teha LVM-is. Jah, sealhulgas vahetus. Jah, vahetust peaks kĂ”ikide soovituste kohaselt olema ketta alguses, aga LVM-i puhul ei saa selle asukohta sisuliselt mÀÀrata. Kuid nagu ma juba varem kirjutasin, teie sĂŒsteem see kasutavad vahetust ĂŒldse. SeetĂ”ttu pole vahetus asukoht ĂŒldse tĂ€htis. Me ei ela ju 1995. aastal, ausalt!

Edasi, LVM-is on mitu pÔhielementi, millega tuleb osata elada:

  • fĂŒĂŒsiline maht
  • mahu grupp
  • loogiline maht

FĂŒĂŒsilised mahud ĂŒhendatakse rĂŒhmadesse, samas iga fĂŒĂŒsiline maht vĂ”ib olla ainult ĂŒhes grupis, kuid grupp vĂ”ib olla korraga mitmel fĂŒĂŒsilisel mahul.
Loogilised mahud asuvad igaĂŒhes ĂŒhes grupis.

Kuid... meil on, kurat, jĂ€lle 21. sajand. Ja virtuaalsed serverid. Pole mĂ”tet rakendada samu mehhanisme, mis kehtisid fĂŒĂŒsilistele serveritele. Ja virtuaalsete puhul on oluline hoida andmed eraldi sĂŒsteemist! See on eriti oluline kiireks andmete ĂŒlekandmiseks teisele virtuaalmasinale (nĂ€iteks uue operatsioonisĂŒsteemi kasutusele vĂ”tmisel) ja ka muude kasulike funktsioonide (nt eraldi varukoopiad hĂŒperviisori vahendusel) jaoks. SeetĂ”ttu kasutatakse ĂŒhte volume group'i sĂŒsteemi jaoks ja teine kindlasti andmete jaoks! See loogiline eristus aitab elus palju!

Kui olete virtuaalmasina loomisel loonud ainult ĂŒhe virtuaalse kĂ”vaketta, siis konfigureerimine lĂ”ppebki siin. Kui aga kaks, siis Ă€rge minge veel teist mÀÀrama.

KĂ€ivitame installatsiooni.

PĂ€rast paigaldamist

Nii, lĂ”puks laadis vĂ€rskelt installitud sĂŒsteem. Esimene asi, mida tuleb kontrollida - internet.

ping ya.ru

Kas vastus tuli? — SuurepĂ€rane, vajutame Ctrl-C.
Kui ei, minge seadistage vÔrku, ilma selleta pole elu, aga minu artikkel ei kÀsitle seda.

NĂŒĂŒd, kui me pole veel rootiga, logime sisse rootina, sest hĂ€iriv on sisestada sellist palju kĂ€ske sudo abil (ja jah, andke andeks mulle, paranoidne admin):

sudo -i

NĂŒĂŒd kirjutame kĂ”igepealt

dnf -y update

Ja kui loete seda artiklit 2019. aastal, siis tÔenÀoliselt ei juhtu midagi, aga proovida tasus.

NĂŒĂŒd konfigureerime ĂŒlejÀÀnud ketta

Oletame, et sĂŒsteemi partitsioon oli xvda, siis andmeketas on xvdb. Selge.

Enamik soovitusi algab sĂ”nadega „KĂ€itage fdisk ja looge partitsioon
"

Nii et see ei ole Ôige!

Ma rĂ”hutan veel kord, sest see on oluline! Antud juhul on LVM-i kasutamisel, mis hĂ”ivab ĂŒhe kĂŒll virtuaalse ketta, partitsioonide loomine sellel kahjulik! Igas sĂ”nas selles lauses on oluline tĂ€hendus. Kui me töötame LVM-ita — see on vajalik. Kui meil on kettal nĂ€iteks sĂŒsteem ja andmed — see on vajalik. Kui me mingil pĂ”hjusel soovime jĂ€tta pool ketast tĂŒhjaks — see on samuti vajalik. Kuid tavaliselt on kĂ”ik need eeldused puhtalt teoreetilised. Sest kui otsustame lisada olemasolevale partitsioonile ruumi, on seda kĂ”ige lihtsam teha just sellise konfiguratsiooniga. Ja mugavus haldamises kaalub ĂŒles palju asju, et me sihipĂ€raselt liikume just selle konfiguratsiooni suunas.

Kasutusmugavus seisneb selles, et kui soovite andmeosa laiendada, lisate lihtsalt kohti virtuaalsesse osasse, pĂ€rast mida laiendate rĂŒhma vgextend abil ja kĂ”ik! Harvadel juhtudel vĂ”ib olla vajalik midagi muud, kuid vĂ€hemalt ei pea te loogilist mahtu alguses laiendama, mis on juba meeldiv. Sest selle mahtu laiendamiseks soovitatakse alguses olemasolev eemaldada ja seejĂ€rel uus luua
 Mis ei tundu just kena ja seda ei saa elava sĂŒsteemi juures teha, kuid laienemist nii nagu ma kirjeldasin saab teostada "reisi" ajal isegi jaotist lahti monteerimata.

KokkuvĂ”tteks loome fĂŒĂŒsilise mahu, seejĂ€rel rĂŒhma, mis seda sisaldab ja pĂ€rast seda jaotuse meie serverile:

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

Siin saab suure L-tĂ€he (ja GB suuruse) asemel kasutada vĂ€ikest ja siis absoluutsest suurusest rÀÀkides kasutada suhtelist, nĂ€iteks, kui soovite kasutada poole olemasolevast vaba ruumist rĂŒhmas, peate mĂ€rkima „-l +50%FREE“

Viimane kĂ€sk vormindab jaotuse ext4 failisĂŒsteemis (mis on senistes kogemustes nĂ€idanud kĂ”ige suuremat stabiilsust, kui midagi on rikki lĂ€inud, seetĂ”ttu eelistan seda).

NĂŒĂŒd monteerime jaotuse soovitud kohta. Selleks lisame Ă”ige rea /etc/fstab:

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

Ja sisestame

mount /var/www

Kui ilmus veateade — anna teada! Sest see tĂ€hendab, et meil on viga /etc/fstab-is. Ja et jĂ€rgmise taaskĂ€ivitamise korral vĂ”ivad meil suured probleemid tekkida. SĂŒsteem ei pruugi ĂŒldse kĂ€ivituda, mis on pilveteenuste jaoks sageli ĂŒsna kurb. SeetĂ”ttu tuleb kas kiiresti parandada viimane kirjutatud rida vĂ”i kustutada see tĂ€ielikult! Just seetĂ”ttu ei kirjutanud me manuaalselt monteerimise kĂ€sku — muidu ei oleks me saanud sellist suurepĂ€rast vĂ”imalust teha konfi kontrollimist "otse praegu".

NĂŒĂŒd installime kĂ”ik, mida soovisime, ja avame veebilehtedele portid:

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

Soovi korral saab siia veel andmebaasi paigaldada, kuid isiklikult pĂŒĂŒan hoida seda eraldi veebiserverist. Kuigi selle lĂ€heduses hoidmine on kiirem, jah. Virtuaalsete vĂ”rguadapterite kiirus on tavaliselt umbes ĂŒks gigabit ja sama masinaga töötamisel toimub kontakt peaaegu koheselt. Kuid see on vĂ€hem turvaline. IgaĂŒhele oma prioriteedid.

NĂŒĂŒd lisame konfigureerimisfaili parameetri (loome uue, CentOS'i kaasaegne ideoloogia on selline)

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

TaaskÀivita server.
Kommentaarides kritiseeriti mind SeLinuxi vĂ€ljalĂŒlitamise nĂ”uande pĂ€rast, seega parandan end ja kirjutan, et pĂ€rast seda tuleb SeLinux Ă”igesti seadistada.
Tegelikult, kasum! 🙂

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster