Веб-сервер дар CentOS 8 бо php7, node.js ва redis

Пешгуфтор

Аз нашри версияи нави системаи оператсионии CentOS, яъне CentOS 2, 8 рӯз гузашт. Ва то ҳол дар Интернет чанд мақола дар бораи он, ки корҳо дар он чӣ гуна иҷро мешаванд, мавҷуданд, бинобар ин ман тасмим гирифтам, ки ин холигоҳро пур кунам. Гузашта аз ин, ман ба шумо на танҳо дар бораи чӣ гуна насб кардани ин ҷуфти барномаҳо, балки инчунин дар бораи он, ки ман чӣ гуна насб кардани Linux-ро дар муҳити виртуалӣ дар ҷаҳони муосир барои вазифаҳои маъмулӣ, аз ҷумла тақсим кардани дискҳо ва ғайра мебинам, мегӯям.

Аммо дар оғоз ман мехоҳам ба таври мухтасар дар бораи он ки чаро аз ҳамаи нусхаҳои қаблӣ гузаштан ба ин версия арзанда аст ва ин ду сабаб дорад:

  1. php7! Дар версияи қаблии CentOS, "Православӣ" php5.4 насб карда шуд...

    Хуб, барои каме ҷиддӣ будан, бисёр бастаҳо ба таври оммавӣ аз якчанд версияҳо гузаштанд. Мо (мухлисони OS-ҳои ба редхат монанд) ниҳоят ворид шудем, агар на ба оянда, пас ҳадди аққал ба ҳозира. Ва тарафдорони Ubuntu дигар ба мо ханда нахоҳанд кард ва ба мо ангушт нишон намедиҳад, хуб ... ҳадди аққал як муддат;).

  2. Гузариш аз yum ба dnf. Фарқияти асосӣ дар он аст, ки ҳоло он расман дастгирӣ карда мешавад, ки бо якчанд версияи бастаҳо якбора кор карда шавад. Дар ҳашт, ман ҳеҷ гоҳ инро муфид наёфтаам, аммо ин умедбахш аст.

Мошини виртуалӣ эҷод кунед

Гипервизорҳои гуногун вуҷуд доранд ва ман ҳадафе надорам, ки хонандаро ба яки мушаххас мутобиқ созам, ман ба шумо дар бораи принсипҳои умумӣ мегӯям.

хотира

Аввалан... Барои насб кардани системаи CentOS, ки аз 7 сар мешавад, бешубҳа ва ба андешаи ман, дар 6 низ чунин буд («аммо ин аниқ нест»), ба шумо лозим аст. ҳадди аққал 2 ГБ RAM. Аз ин рӯ, ман ба шумо маслиҳат медиҳам, ки аввал ин қадарро диҳед.

Аммо агар чизе бошад, пас аз насб андозаи хотираро кам кардан мумкин аст. Дар 1 ГБ системаи луч хеле хуб кор мекунад, ман тафтиш кардам.

диск

Барои насби муқаррарӣ, шумо бояд як диски виртуалӣ бо иқтидори 20-30 ГБ эҷод кунед. Ин барои система кофӣ аст. Ва як диски дуюм барои маълумот. Онро ҳам дар марҳилаи эҷоди мошини виртуалӣ ва ҳам баъд аз он илова кардан мумкин аст. Ман одатан онро дертар илова мекунам.

ВПМ - Воҳиди Пардозиши Марказӣ

Дар як ядро, системаи урён суст намешавад. Ва азбаски захираҳо ба таври озод миқёспазиранд, ман дар марҳилаи насбкунӣ ягон чизи бештар доданро намебинам (агар шумо талаботро ба таври комил донед ва барои дубора ворид шудан ба конфигуратор танбал набошед)

Боқимондаро одатан ҳамчун пешфарз гузоштан мумкин аст.

Насбкунии воқеӣ

Пас... Биёед насбкунандаро оғоз кунем... Шахсан ман муддати тӯлонӣ ин гуна хидматҳоро танҳо дар шакли мошинҳои виртуалӣ насб мекунам, бинобар ин ман ҳама намуди сабтҳои тақсимотро дар флеш-диск тавсиф намекунам - ман танҳо насб мекунам ISO ҳамчун CD дар гипервизори дӯстдоштаи ман, зеркашӣ кунед ва равед.

Насби асосӣ хеле маъмул аст, ман танҳо ба чанд нукта таваққуф хоҳам кард.

Интихоби манбаъ

Аз замони нашри версияи ҳаштум, оина аз Яндекс тӯли рӯзҳо дар атрофи он хобида буд. Хуб, ин аст, ки он давра ба давра баланд мешавад ва сипас боз хато нишон медиҳад. Ман боварӣ дорам, ки ин аз сабаби сарбории аз ҳад зиёд дар хидмат аст. Аз ин рӯ, барои нишон додани манбаъ шахсан маҷбур шудам, ки ба ҷои ворид кардани суроғаи маъмулӣ равам дар ин ҷо, оинаеро, ки дар он ҷо ба ман маъқул аст, интихоб кунед ва суроғаро дар равзанаи насбкунанда дастӣ ворид кунед. Дар ин ҷо фаромӯш кардан муҳим аст, ки шумо бояд роҳро ба ҷузвдоне, ки директория ҷойгир аст, муайян кунед нусхабардорӣ. Масалан, mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os.

Тақсимоти диск

Ин савол ба назари ман хеле динӣ аст. Ҳар як администратор дар ин бора мавқеи худро дорад. Аммо ман ҳоло ҳам нуқтаи назари худро дар ин масъала баён мекунам.

Бале, дар асл, шумо метавонед тамоми фазоро ба реша ҷудо кунед ва он кор хоҳад кард, аксар вақт ҳатто хеле хуб. Пас чаро боғро бо қисматҳои гуногун девор кунед? — Ба назари ман, ин ду сабаби асосй дорад: квота ва кобилият.

Масалан, агар чизе хато кунад ва дар қисмати асосии маълумот хатогӣ рух диҳад, шумо мехоҳед, ки то ҳол системаро пурбор кунед ва чораҳои реаниматсионӣ гузаронед. Аз ин рӯ, ман шахсан барои / boot як қисми алоҳида ҷудо мекунам. Ядро ва боркунак мавҷуд аст. Одатан 500 мегабайт кифоя аст, аммо дар ҳолатҳои нодир шояд бештар лозим шавад ва бо назардошти он, ки мо аллакай ба ченкунии фазо бо терабайт одат кардаем, ман барои ин бахш 2 ГБ ҷудо мекунам. Ва дар ин чо чизи мухим он аст, ки ин корро lvm кардан мумкин нест.

Баъдан решаи система меояд. Барои насби муқаррарӣ, ба ман ҳеҷ гоҳ зиёда аз 4 ГБ барои як система лозим набуд, аммо ҳангоми рӯйдодҳои ба нақша гирифташуда ман аксар вақт директорияи /tmp-ро барои кушодани тақсимот истифода мебарам ва ман бахшидани он ба қисмати алоҳида - дар системаҳои муосир ҳеҷ маъное намебинам. он ба таври худкор тоза карда мешавад, бинобар ин пур карда намешавад. Ҳамин тавр, ман барои реша 8 ГБ ҷудо мекунам.

Своп... Дар маҷмӯъ, аз он истифодаи амалӣ кам аст. Агар шумо истифодаи свопро дар сервери худ оғоз кунед, имрӯз дар ҷаҳони воқеӣ ин танҳо маънои онро дорад, ки сервер бояд RAM бештар илова кунад. Дар акси ҳол, мушкилот бо иҷроиш кафолат дода мешавад (ё баъзе барномаҳо хотираи "хуриш" мекунанд). Аз ин рӯ, ин бахш танҳо барои мақсадҳои ташхис лозим аст. Аз ин рӯ, 2 ГБ рақами олӣ аст. Бале, новобаста аз он ки чӣ қадар хотира дар сервер мавҷуд аст. Бале, ман ҳама мақолаҳоро хондам, ки дар бораи таносуби ҳаҷми хотира ба ҳаҷми своп навишта шудааст... IMHO, онҳо кӯҳна шудаанд. Дар давоми 10 соли амалия ман ҳеҷ гоҳ ба ин ниёз надоштам. 15 сол пеш ман онҳоро истифода мебурдам, ҳа.

IMHO, ҳар кас метавонад худаш тасмим гирад, ки /хонаро ба қисмати алоҳида ҷудо кунад. Агар касе дар сервер ин феҳристро фаъолона истифода барад, беҳтар аст, ки онро ҷудо кунед. Агар касе набошад, лозим нест.

Баъд, /var. Ба фикри ман, онро хатман таъкид кардан лозим аст. Барои оғоз кардан, шумо метавонед худро то 4 ГБ маҳдуд кунед ва бубинед, ки он чӣ гуна мегузарад. Ва ҳа, бо "чӣ гуна меравад" ман инро дар назар дорам

  1. Аввалан, шумо ҳамеша метавонед диски дигарро дар зеркаталоги /var насб кунед (ки ман онро баъдтар бо мисол нишон медиҳам)
  2. Дуюм, мо lvm дорем - шумо ҳамеша метавонед онро илова кунед. Ва шумо одатан бояд онро илова кунед, вақте ки гузоришҳои аз ҳад зиёд ба он ҷо рехта мешаванд. Аммо ман ҳеҷ гоҳ ин рақамро пешакӣ пешгӯӣ карда натавонистам, бинобар ин ман аз 2 ГБ оғоз мекунам ва баъд тамошо мекунам.

Фазои тақсимнашуда дар гурӯҳи ҳаҷм озод боқӣ мемонад ва онро ҳамеша дертар истифода бурдан мумкин аст.

LVM

ҳама Дар LVM қисмҳои ғайр аз / boot сохтан маъно дорад. Бале, аз ҷумла мубодила. Бале, мувофиқи ҳама маслиҳатҳо, своп бояд дар ибтидои диск бошад, аммо дар ҳолати LVM ҷойгиршавии онро аслан муайян кардан мумкин нест. Аммо тавре ки ман дар боло навишта будам, системаи шумо бояд не свопро умуман истифода баред. Аз ин рӯ, муҳим нест, ки ӯ дар куҷост. Хуб, мо дар соли 95 зиндагӣ намекунем, ростқавлона!

Ғайр аз он, дар LVM якчанд объектҳои асосӣ мавҷуданд, ки шумо бояд бо онҳо зиндагӣ кунед:

  • ҳаҷми ҷисмонӣ
  • гурӯҳи ҳаҷми
  • ҳаҷми мантиқӣ

Ҳаҷмҳои физикӣ ба гурӯҳҳо муттаҳид мешаванд ва ҳар як ҳаҷми физикӣ метавонад танҳо дар як гурӯҳ бошад ва гурӯҳ дар як вақт дар якчанд ҷилди физикӣ ҷойгир карда шаванд.
Ва ҷилдҳои мантиқӣ ҳар як дар як гурӯҳ ҳастанд.

Аммо... Бало, боз асри 21 аст. Ва серверҳо виртуалӣ мебошанд. Ба онҳо татбиқ кардани ҳамон механизмҳое, ки ба механизмҳои ҷисмонӣ татбиқ карда мешуданд, маъно надорад. Ва барои виртуалӣ муҳим аст, ки маълумот аз система ҷудо бошад! Ин хеле муҳим аст, алахусус барои қобилияти зуд иваз кардани маълумот ба мошини дигари виртуалӣ (масалан, ҳангоми гузаштан ба OS нав) ва дар маҷмӯъ барои ҳама навъҳои фоиданок (масалан, нусхаҳои эҳтиётӣ аз рӯи қисмҳо бо истифода аз абзорҳои гипервизор) . Аз ин рӯ, як гурӯҳи ҳаҷм барои система истифода мешавад ва ҳатман гурӯҳи дигар барои маълумот истифода мешавад! Ин тақсимоти мантиқӣ дар ҳаёт кӯмак мекунад!

Агар шумо ҳангоми сохтани мошини виртуалӣ танҳо як диски сахти маҷозӣ эҷод карда бошед, дар ин ҷо конфигуратсия ба охир мерасад. Ва агар ду бошад, пас дуюмро ҳанӯз қайд накунед.

Биёед насбро оғоз кунем.

Пас аз насб

Ҳамин тавр, системаи нав насбшуда ниҳоят пурбор шуд. Аввалин чизе, ки шумо бояд тафтиш кунед, Интернет аст.

ping ya.ru

Оё ҷавоб ҳаст? - Аҷоиб, Ctrl-C-ро пахш кунед.
Дар акси ҳол, равед шабака созед, бе ин ҳаёт нест, аммо ин мақолаи ман дар бораи он нест.

Ҳоло агар мо ҳанӯз зери реша набошем, зери реша равем, зеро чоп кардан чунин шумораи фармонҳо бо sudo шахсан маро шикастанд (ва маъмурони параноид маро бубахшанд):

sudo -i

Ҳоло аввалин чизе, ки мо мекунем, чоп кардан аст

dnf -y update

Ва агар шумо ин мақоларо дар соли 2019 хонда истода бошед, эҳтимолан ҳеҷ чиз рӯй надиҳад, аммо кӯшиш кардан бамаврид буд.

Акнун биёед диски боқимондаро танзим кунем

Фарз мекунем, ки қисм бо система xvda буд, пас диски маълумот xvdb мешавад. ДУРУСТ.

Аксари маслиҳатҳо бо "Иҷроиши fdisk ва эҷод кардани қисмат ..." оғоз мешаванд.

Пас, ин аст нодуруст!

Ман инро бори дигар мегӯям, зеро ин хеле муҳим аст! Дар ин ҳолат, кор бо LVM, ки як диски виртуалиро ишғол мекунад, эҷод кардани қисмҳо дар он зараровар аст! Ҳар як калима дар ин ибора муҳим аст. Агар мо бе LVM кор кунем, мо бояд. Агар мо дар диск система ва маълумот дошта бошем, ба мо лозим аст. Агар бо ягон сабаб ба мо лозим ояд, ки нисфи дискро холӣ гузорем, мо низ бояд. Аммо одатан ҳамаи ин фарзияҳо сирф назариявӣ мебошанд. Зеро агар мо қарор диҳем, ки ба қисмати мавҷуда ҷой илова кунем, пас роҳи осонтарини иҷрои он бо ин конфигуратсия аст. Ва осонии маъмурият аз бисёр чизҳои дигар бартарӣ дорад, ки мо ҳадафмандона ба ин конфигуратсия ҳаракат мекунем.

Ва бароҳатӣ дар он аст, ки агар шумо хоҳед, ки қисмати маълумотро васеъ кунед, шумо танҳо ба қисмати виртуалӣ ҷойҳо илова мекунед, пас гурӯҳро бо истифода аз vgextend васеъ мекунед ва ҳамин тавр! Дар ҳолатҳои нодир, чизи дигаре метавонад талаб карда шавад, аммо ҳадди аққал ба шумо лозим нест, ки ҳаҷми мантиқиро дар аввал васеъ кунед, ки ин аллакай хуб аст. Дар акси ҳол, барои васеъ кардани ин ҳаҷм, онҳо тавсия медиҳанд, ки аввал ҳаҷми мавҷударо нест кунед ва баъд дар боло як наверо эҷод кунед... Ин хеле хуб ба назар намерасад ва онро дар зинда иҷро кардан мумкин нест, аммо васеъкунӣ мувофиқи сенарияи ман нишон дода шуда метавонад. "дар парвоз" бидуни ҷудо кардани қисмат анҷом дода мешавад.

Ҳамин тавр, мо як ҳаҷми физикӣ, баъд гурӯҳи ҳаҷмеро, ки онро дар бар мегирад ва сипас қисмати сервери мо эҷод мекунем:

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

Дар ин ҷо, ба ҷои ҳарфи калони "L" (ва андоза дар ГБ) шумо метавонед як хурдро нишон диҳед ва сипас ба ҷои андозаи мутлақ андозаи нисбӣ нишон диҳед, масалан, нисфи фазои холии ҳозираро дар як гурӯҳи ҳаҷми, шумо бояд "-l +50% FREE" -ро муайян кунед

Ва фармони охирин қисматро дар системаи файлии ext4 формат мекунад (ки то ҳол, дар таҷрибаи ман, дар сурати вайрон шудани ҳама устувории бештарро нишон медиҳад, бинобар ин ман онро бартарӣ медиҳам).

Акнун мо қисматро дар ҷои дуруст насб мекунем. Барои ин, сатри дурустро ба /etc/fstab илова кунед:

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

Ва мо занг мезанем

mount /var/www

Агар хатогӣ рӯй диҳад, ҳушдор занед! Зеро ин маънои онро дорад, ки мо дар /etc/fstab хато дорем. Ва ин дар бозсозии навбатӣ мо мушкилоти хеле калон хоҳем дошт. Система тамоман бор намекунад, ки ин барои хидматҳои абрӣ аксар вақт хеле ғамгин аст. Аз ин рӯ, зарур аст, ки ё сатри охирини иловашударо фавран ислоҳ кунед, ё тамоман нест кунед! Аз ин рӯ, мо фармони васлкуниро дастӣ нанавиштем - он гоҳ мо чунин имкони олиҷаноб барои фавран тафтиш кардани конфигуратсияро надоштем.

Ҳоло мо воқеан ҳама чизеро, ки мехостем, насб мекунем ва портҳоро барои веб мекушоем:

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

Агар хоҳед, шумо метавонед пойгоҳи додаҳоро дар ин ҷо ҷойгир кунед, аммо шахсан ман кӯшиш мекунам, ки онро аз веб-сервер ҷудо нигоҳ дорам. Ҳарчанд нигоҳ доштани вай зудтар аст, ҳа. Суръати адаптерҳои шабакаи виртуалӣ одатан дар атрофи гигабит аст ва ҳангоми кор дар як мошин зангҳо қариб дарҳол ба амал меоянд. Аммо он камтар бехатар аст. Барои кӣ чӣ муҳимтар аст?

Ҳоло мо параметрро ба файли конфигуратсия илова мекунем (мо навашро эҷод мекунем, идеологияи муосири CentOS чунин аст)

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

Мо серверро бозоғоз мекунем.
Дар шарҳҳо маро сарзаниш карданд, ки ба ман маслиҳат додам, ки SeLinux-ро хомӯш кунам, бинобар ин ман худамро ислоҳ мекунам ва дар бораи он менависам, ки пас аз ин шумо бояд танзимоти SeLinux-ро фаромӯш накунед.
Дар асл, фоида! 🙂

Манбаъ: will.com

Илова Эзоҳ