Gweinydd gwe ar CentOS 8 gyda php7, node.js a redis

Rhagair

Mae wedi bod yn 2 ddiwrnod ers rhyddhau fersiwn newydd o system weithredu CentOS, sef CentOS 8. A hyd yn hyn mae cryn dipyn o erthyglau ar y Rhyngrwyd ar sut mae pethau'n cael eu gwneud ynddo, felly penderfynais lenwi'r bwlch hwn. Ar ben hynny, byddaf yn dweud wrthych nid yn unig sut i osod y pâr hwn o raglenni, ond hefyd am sut yr wyf yn gyffredinol yn gweld gosod Linux mewn amgylchedd rhithwir yn y byd modern ar gyfer tasgau nodweddiadol, gan gynnwys disgiau rhaniad ac yn y blaen.

Ond ar y dechrau, rwyf am siarad yn fyr am pam ei bod yn werth newid i'r fersiwn hon o'r holl rai blaenorol, ac mae dau reswm am hyn:

  1. php7! Yn y fersiwn flaenorol o CentOS, gosodwyd y php5.4 "Uniongred" ...

    Iawn, i fod ychydig yn fwy difrifol, neidiodd llawer o becynnau trwy sawl fersiwn en masse. Rydym ni (cefnogwyr o redhat-like OSes) wedi dod i mewn o'r diwedd, os nad i'r dyfodol, yna o leiaf i'r presennol. Ac ni fydd cefnogwyr Ubuntu bellach yn chwerthin am ein pennau ac yn pwyntio bysedd atom, wel... am ychydig o leiaf ;).

  2. Pontio o yum i dnf. Y prif wahaniaeth yw ei fod bellach yn cael ei gefnogi'n swyddogol i weithio gyda sawl fersiwn o becynnau ar unwaith. Reit yn yr wyth, dwi erioed wedi gweld hyn yn ddefnyddiol, ond mae'n swnio'n addawol.

Creu peiriant rhithwir

Mae yna hypervisors gwahanol ac nid oes gennyf unrhyw nod i deilwra'r darllenydd i un penodol, byddaf yn dweud wrthych am yr egwyddorion cyffredinol.

Память

Yn gyntaf... I osod system CentOS yn cychwyn o 7 yn sicr, ac yn fy marn i roedd hyn hefyd yn wir yn 6 (“ond nid yw hyn yn sicr”), mae angen lleiafswm 2 GB RAM. Felly, rwy'n eich cynghori i ddosbarthu cymaint â hynny yn gyntaf.

Ond os rhywbeth, ar ôl gosod gellir lleihau maint y cof. Ar 1 GB mae'r system noeth yn gweithio'n eithaf da, gwiriais.

Gyrru

Ar gyfer gosodiad arferol, dylech greu disg rhithwir gyda chynhwysedd o 20-30 GB. Mae hyn yn ddigon ar gyfer y system. Ac ail ddisg ar gyfer data. Gellir ei ychwanegu yn y cam o greu peiriant rhithwir ac ar ôl. Fel arfer byddaf yn ei ychwanegu yn ddiweddarach.

Prosesydd

Ar un craidd, nid yw'r system noeth yn arafu. A chan fod adnoddau yn raddadwy yn rhydd, ni welaf unrhyw bwynt mewn rhoi mwy yn y cam gosod (oni bai eich bod yn gwybod y gofynion yn berffaith ac yn rhy ddiog i fynd i mewn i'r cyflunydd eto)

Fel arfer gellir gadael y gweddill fel rhagosodiad.

Y gosodiad gwirioneddol

Felly... Gadewch i ni lansio'r gosodwr... Yn bersonol, rwyf wedi bod yn gosod gwasanaethau o'r fath yn unig ar ffurf peiriannau rhithwir ers amser maith, felly ni fyddaf yn disgrifio pob math o gofnodion dosbarthu ar yriant fflach - dwi'n gosod yr ISO fel CD yn fy hoff hypervisor, lawrlwytho a mynd.

Mae'r gosodiad sylfaenol yn eithaf nodweddiadol, dim ond ychydig o bwyntiau y byddaf yn aros.

Dewis ffynhonnell

Ers rhyddhau'r wythfed fersiwn, mae'r drych o Yandex wedi bod yn gorwedd o gwmpas ers dyddiau. Wel, hynny yw, mae'n codi o bryd i'w gilydd, ac yna eto yn dechrau dangos gwall. Rwy'n siŵr ei fod oherwydd llwyth gormodol ar y gwasanaeth. Felly, i nodi'r ffynhonnell, roedd yn rhaid i mi yn bersonol, yn lle mynd i mewn i'r cyfeiriad arferol, fynd yma, dewiswch y drych yr wyf yn ei hoffi yno a nodwch y cyfeiriad yn ffenestr y gosodwr â llaw. Mae'n bwysig cofio yma bod angen i chi nodi'r llwybr i'r ffolder lle mae'r cyfeiriadur wedi'i leoli repodata. Er enghraifft mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os.

Rhaniad disg

Mae'r cwestiwn hwn braidd yn grefyddol yn fy marn i. Mae gan bob gweinyddwr ei safbwynt ei hun ar y mater hwn. Ond byddaf yn dal i rannu fy safbwynt ar y mater.

Oes, mewn egwyddor, gallwch chi ddyrannu'r gofod cyfan i'r gwraidd a bydd yn gweithio, yn amlaf hyd yn oed yn eithaf da. Pam felly ffensio gardd gyda rhannau gwahanol? — Yn fy marn i, mae dau brif reswm am hyn: cwotâu a hygludedd.

Er enghraifft, os aiff rhywbeth o'i le a bod gwallau yn digwydd ar y prif raniad data, rydych chi am allu cychwyn y system o hyd a chyflawni mesurau dadebru. Felly, rwy'n bersonol yn dyrannu rhaniad ar wahân ar gyfer /boot. Mae cnewyllyn a bootloader. Fel arfer mae 500 megabeit yn ddigon, ond mewn achosion prin efallai y bydd angen mwy, ac o ystyried ein bod eisoes yn gyfarwydd â mesur gofod mewn terabytes, rwy'n dyrannu 2GB ar gyfer yr adran hon. A'r peth pwysig yma yw, na ellir ei wneud lvm.

Nesaf daw gwraidd y system. Ar gyfer gosodiad arferol, nid wyf erioed wedi bod angen mwy na 4 GB fesul system, ond yn ystod digwyddiadau a drefnwyd rwy'n aml yn defnyddio'r cyfeiriadur / tmp i ddadbacio dosbarthiadau, ac nid wyf yn gweld unrhyw bwynt wrth ei neilltuo i raniad ar wahân - mewn systemau modern caiff ei lanhau'n awtomatig, felly nid yw'n cael ei lenwi. Felly rwy'n dyrannu 8GB ar gyfer y gwraidd.

Cyfnewid... Ar y cyfan, nid oes llawer o ddefnydd ymarferol ohono. Os byddwch chi'n dechrau defnyddio cyfnewid ar eich gweinydd, heddiw yn y byd go iawn mae hyn ond yn golygu bod angen i'r gweinydd ychwanegu mwy o RAM. Fel arall, mae problemau gyda pherfformiad yn cael eu gwarantu (neu mae rhai rhaglen yn "gollwng" cof). Felly, mae angen yr adran hon at ddibenion diagnostig yn unig. Felly, mae 2 GB yn nifer rhagorol. Oes, waeth faint o gof sydd ar y gweinydd. Do, darllenais yr holl erthyglau hynny lle mae wedi'i ysgrifennu am gymhareb cyfaint y cof i gyfaint cyfnewid ... IMHO, maen nhw'n hen ffasiwn. Mewn 10 mlynedd o ymarfer nid wyf erioed wedi bod angen hyn. 15 mlynedd yn ôl defnyddiais nhw, ie.

IMHO, gall pawb benderfynu drostynt eu hunain a ydynt am ddyrannu / cartref i raniad ar wahân. Os bydd rhywun ar y gweinydd yn defnyddio'r cyfeiriadur hwn yn weithredol, mae'n well ei ddyrannu. Os nad oes neb, nid oes angen.

Nesaf, /var. Yn fy marn i, dylid ei amlygu yn bendant. I ddechrau, gallwch gyfyngu eich hun i 4 GB, a gweld sut mae'n mynd. Ac ydy, wrth “sut mae'n mynd” dwi'n golygu hynny

  1. Yn gyntaf, gallwch chi bob amser osod disg arall yn yr is-gyfeiriadur / var (y byddaf yn ei ddangos yn ddiweddarach gydag enghraifft)
  2. Yn ail, mae gennym lvm - gallwch chi ei ychwanegu bob amser. Ac fel arfer mae'n rhaid i chi ei ychwanegu pan fydd gormod o foncyffion yn dechrau arllwys i mewn yno. Ond dwi erioed wedi gallu rhagweld y ffigwr hwn ymlaen llaw, felly dwi'n dechrau gyda 2 GB ac yna'n gwylio.

Bydd y gofod heb ei ddyrannu yn parhau i fod yn rhydd yn y grŵp cyfaint a gellir ei ddefnyddio'n ddiweddarach bob amser.

LVM

Mae pob Mae'n gwneud synnwyr i wneud rhaniadau heblaw / cist yn LVM. Ie, gan gynnwys cyfnewid. Ydw, yn ôl yr holl gyngor, dylai cyfnewid fod ar ddechrau'r ddisg, ond yn achos LVM ni ellir pennu ei leoliad mewn egwyddor. Ond fel yr ysgrifennais uchod, eich system ni ddylai defnyddio cyfnewid o gwbl. Felly, nid oes ots ble y mae. Wel, dydyn ni ddim yn byw yn ’95, a dweud y gwir!

Ymhellach, yn LVM mae yna sawl endid sylfaenol y mae angen i chi allu byw gyda nhw:

  • cyfaint corfforol
  • grŵp cyfrol
  • cyfaint rhesymegol

Cyfunir cyfeintiau corfforol yn grwpiau, a gall pob cyfaint corfforol fod mewn un grŵp yn unig, a gellir lleoli grŵp ar sawl cyfrol ffisegol ar unwaith.
Ac mae'r cyfrolau rhesymegol bob un mewn un grŵp.

Ond... Damn, dyma'r 21ain ganrif eto. Ac mae'r gweinyddwyr yn rhithwir. Nid yw'n gwneud unrhyw synnwyr cymhwyso'r un mecanweithiau iddynt ag a ddefnyddiwyd ar gyfer rhai corfforol. Ac ar gyfer rhai rhithwir mae'n bwysig cael data ar wahân i'r system! Mae hyn yn bwysig iawn, yn enwedig ar gyfer y gallu i newid data yn gyflym i beiriant rhithwir arall (er enghraifft, wrth newid i OS newydd) ac yn gyffredinol ar gyfer pob math o nwyddau defnyddiol (copïau wrth gefn ar wahân gan raniad gan ddefnyddio offer hypervisor, er enghraifft) . Felly, defnyddir un grŵp cyfaint ar gyfer y system ac o reidrwydd defnyddir un arall ar gyfer data! Mae'r rhaniad rhesymegol hwn yn helpu llawer mewn bywyd!

Os ydych chi wedi creu un disg galed rithwir yn unig wrth greu peiriant rhithwir, dyma lle mae'r cyfluniad yn dod i ben. Ac os oes dau, yna peidiwch â nodi'r ail un eto.

Gadewch i ni ddechrau'r gosodiad.

Ôl-osod

Felly, cychwynnodd y system newydd ei gosod o'r diwedd. Y peth cyntaf y mae angen i chi ei wirio yw'r Rhyngrwyd.

ping ya.ru

A oes ateb? - Gwych, pwyswch Ctrl-C.
Os na, ewch i sefydlu rhwydwaith, nid oes bywyd heb hyn, ond nid dyna hanfod fy erthygl.

Nawr os nad ydym eto o dan gwraidd, ewch o dan gwraidd, oherwydd teipio такое torrodd nifer y gorchmynion gyda sudo fi yn bersonol (a bydded i'r gweinyddwyr paranoaidd faddau i mi):

sudo -i

Nawr y peth cyntaf rydyn ni'n ei wneud yw teipio

dnf -y update

Ac os ydych chi'n darllen yr erthygl hon yn 2019, mae'n debyg na fydd dim yn digwydd, ond roedd yn werth rhoi cynnig arni.

Nawr, gadewch i ni ffurfweddu'r ddisg sy'n weddill

Dywedwch mai xvda oedd y rhaniad gyda'r system, yna xvdb fydd y ddisg ddata. IAWN.

Bydd y rhan fwyaf o gyngor yn dechrau gyda “Rhedeg fdisk a chreu rhaniad...”

Felly dyma anghywir!

Fe'i dywedaf eto oherwydd ei fod mor bwysig! Yn yr achos hwn, mae gweithio gyda LVM, sy'n meddiannu un disg rhithwir cyfan, gan greu rhaniadau arno yn niweidiol! Mae pob gair yn yr ymadrodd hwn yn bwysig. Os ydym yn gweithio heb LVM, mae angen inni wneud hynny. Os oes gennym system a data ar y ddisg, mae ei angen arnom. Os bydd angen inni adael hanner y ddisg yn wag am ryw reswm, dylem ninnau hefyd. Ond fel arfer damcaniaethol yn unig yw'r holl ragdybiaethau hyn. Oherwydd os penderfynwn ychwanegu lle at raniad presennol, yna'r ffordd hawsaf i'w wneud yw gyda'r cyfluniad hwn. Ac y mae rhwyddineb gweinyddiad yn gorbwyso cymaint o bethau eraill fel yr ydym yn symud yn bwrpasol tuag at y cyfluniad hwn.

A'r cyfleustra yw, os ydych chi am ehangu'r rhaniad data, rydych chi'n ychwanegu bylchau at y rhaniad rhithwir, yna ehangu'r grŵp gan ddefnyddio vgextend a dyna ni! Mewn achosion prin, efallai y bydd angen rhywbeth arall, ond o leiaf ni fydd yn rhaid i chi ehangu'r cyfaint rhesymegol ar y dechrau, sydd eisoes yn braf. Fel arall, i ehangu'r union gyfrol hon, maent yn argymell dileu'r un presennol yn gyntaf, ac yna creu un newydd ar ei ben ... nad yw'n edrych yn neis iawn ac na ellir ei wneud yn fyw, ond gall ehangu yn ôl y senario a nodais fod. ei wneud “ar y hedfan” heb hyd yn oed ddadosod y rhaniad.

Felly, rydyn ni'n creu cyfaint ffisegol, yna grŵp cyfaint sy'n ei gynnwys, ac yna rhaniad ar gyfer ein gweinydd:

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

Yma, yn lle prif lythyren “L” (a'r maint ym Mhrydain Fawr), gallwch chi nodi un bach, ac yna yn lle maint absoliwt, nodwch un cymharol, er enghraifft, i ddefnyddio hanner y gofod sydd ar gael yn rhydd ar hyn o bryd. grŵp cyfaint, mae angen i chi nodi "-l + 50% AM DDIM"

Ac mae'r gorchymyn olaf yn fformatio'r rhaniad yn y system ffeiliau ext4 (sydd hyd yn hyn, yn fy mhrofiad i, yn dangos y sefydlogrwydd mwyaf rhag ofn y bydd popeth yn torri, felly mae'n well gennyf).

Nawr rydyn ni'n gosod y rhaniad yn y lle iawn. I wneud hyn, ychwanegwch y llinell gywir i /etc/fstab:

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

Ac rydym yn deialu

mount /var/www

Os bydd gwall, seinio'r larwm! Oherwydd mae hyn yn golygu bod gennym ni wall yn /etc/fstab. Ac yn yr ailgychwyn nesaf bydd gennym broblemau mawr iawn. Efallai na fydd y system yn cychwyn o gwbl, sy'n aml yn drist iawn i wasanaethau cwmwl. Felly, mae angen naill ai cywiro'r llinell olaf a ychwanegwyd ar frys, neu ei dileu'n gyfan gwbl! Dyna pam na wnaethom ysgrifennu'r gorchymyn gosod â llaw - yna ni fyddem wedi cael cyfle mor wych i wirio'r ffurfweddiad ar unwaith.

Nawr rydyn ni mewn gwirionedd yn gosod popeth roedden ni ei eisiau ac yn agor y porthladdoedd ar gyfer y we:

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

Os dymunwch, gallwch hefyd roi cronfa ddata yma, ond yn bersonol rwy'n ceisio ei gadw ar wahân i'r gweinydd gwe. Er bod ei chadw'n agos yn gyflymach, ydy. Mae cyflymder addaswyr rhwydwaith rhithwir fel arfer o gwmpas gigabit, ac wrth weithio ar yr un peiriant, mae galwadau'n digwydd bron yn syth. Ond mae'n llai diogel. Beth sy'n bwysicach i bwy?

Nawr rydyn ni'n ychwanegu'r paramedr at y ffeil ffurfweddu (rydym yn creu un newydd, mae ideoleg fodern CentOS fel hyn)

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

Rydym yn ailgychwyn y gweinydd.
Yn y sylwadau, cefais fy ngwarth am fy nghynghori i ddiffodd SeLinux, felly byddaf yn cywiro fy hun ac yn ysgrifennu am y ffaith bod angen i chi gofio ffurfweddu SeLinux ar ôl hyn.
A dweud y gwir, elw! 🙂

Ffynhonnell: hab.com

Ychwanegu sylw