Seva ya wavuti kwenye CentOS 8 iliyo na php7, node.js na redis

utangulizi

Imekuwa siku 2 tangu kutolewa kwa toleo jipya la mfumo wa uendeshaji wa CentOS, yaani CentOS 8. Na hadi sasa kuna makala chache kabisa kwenye mtandao kuhusu jinsi mambo yanafanyika ndani yake, kwa hiyo niliamua kujaza pengo hili. Kwa kuongezea, nitakuambia sio tu juu ya jinsi ya kusanikisha programu hizi mbili, lakini pia juu ya jinsi ninavyoona kwa ujumla kusanikisha Linux katika mazingira ya kawaida katika ulimwengu wa kisasa kwa kazi za kawaida, pamoja na diski za kugawa na kadhalika.

Lakini mwanzoni, nataka kuzungumza kwa ufupi juu ya kwa nini inafaa kubadili toleo hili kutoka kwa yote yaliyotangulia, na kuna sababu mbili za hii:

  1. php7! Katika toleo la awali la CentOS, "Orthodox" php5.4 ilisakinishwa...

    Sawa, kuwa mbaya zaidi, vifurushi vingi viliruka kupitia matoleo kadhaa kwa jumla. Sisi (mashabiki wa OS zinazofanana na redhat) hatimaye tumeingia, ikiwa sio katika siku zijazo, basi angalau katika sasa. Na wafuasi wa Ubuntu hawatatucheka tena na kutunyooshea vidole, vizuri ... angalau kwa muda;).

  2. Badilisha kutoka yum hadi dnf. Tofauti kuu ni kwamba sasa inasaidiwa rasmi kufanya kazi na matoleo kadhaa ya vifurushi mara moja. Haki katika nane, sijawahi kupata hii muhimu, lakini inaonekana kuahidi.

Unda mashine pepe

Kuna hypervisors tofauti na sina lengo la kurekebisha msomaji kwa moja maalum, nitakuambia kuhusu kanuni za jumla.

kumbukumbu

Kwanza ... Ili kufunga mfumo wa CentOS kuanzia 7 kwa hakika, na kwa maoni yangu hii pia ilikuwa kesi katika 6 ("lakini hii sio hakika"), unahitaji kiwango cha chini RAM ya GB 2. Kwa hiyo, nakushauri utoe kiasi hicho kwanza.

Lakini ikiwa ni chochote, baada ya ufungaji ukubwa wa kumbukumbu unaweza kupunguzwa. Kwa GB 1 mfumo ulio wazi unafanya kazi vizuri, niliangalia.

disk

Kwa usakinishaji wa kawaida, unapaswa kuunda disk virtual na uwezo wa 20-30 GB. Hii inatosha kwa mfumo. Na diski ya pili kwa data. Inaweza kuongezwa wote katika hatua ya kuunda mashine ya kawaida na baada. Kawaida mimi huongeza baadaye.

processor

Kwa msingi mmoja, mfumo wa tupu haupunguzi. Na kwa kuwa rasilimali zinaweza kuongezwa kwa uhuru, sioni hatua yoyote ya kutoa zaidi katika hatua ya usakinishaji (isipokuwa unajua mahitaji kikamilifu na ni wavivu sana kwenda kwenye kisanidi tena)

Zingine zinaweza kuachwa kama chaguo-msingi.

Ufungaji halisi

Kwa hiyo ... Hebu tuzindue kisakinishi ... Binafsi, nimekuwa nikiweka huduma kama hizo kwa muda mrefu tu kwa njia ya mashine za kawaida, kwa hivyo sitaelezea kila aina ya rekodi za usambazaji kwenye gari la flash - ninaweka tu. ISO kama CD katika hypervisor ninayopenda, pakua na uende.

Ufungaji wa msingi ni wa kawaida kabisa, nitakaa tu juu ya pointi chache.

Uchaguzi wa chanzo

Tangu kutolewa kwa toleo la nane, kioo kutoka kwa Yandex kimelala kwa siku. Kweli, ambayo ni, mara kwa mara huinuka, na kisha tena huanza kuonyesha kosa. Nina hakika ni kwa sababu ya mzigo mwingi kwenye huduma. Kwa hivyo, ili kuonyesha chanzo, mimi binafsi ilibidi, badala ya kuingiza anwani ya kawaida, niende hapa, chagua kioo ambacho ninapenda hapo na uingize mwenyewe anwani kwenye dirisha la kisakinishi. Ni muhimu kukumbuka hapa kwamba unahitaji kutaja njia ya folda ambapo saraka iko repodata. Kwa mfano mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os.

Ugawaji wa diski

Swali hili ni la kidini kwa maoni yangu. Kila admin ana msimamo wake juu ya jambo hili. Lakini bado nitashiriki maoni yangu juu ya suala hilo.

Ndio, kwa kanuni, unaweza kutenga nafasi nzima kwa mzizi na itafanya kazi, mara nyingi hata vizuri. Kwa nini basi uzio bustani na sehemu tofauti? - Kwa maoni yangu, kuna sababu mbili kuu za hii: upendeleo na uwezo.

Kwa mfano, ikiwa kitu kitaenda vibaya na hitilafu hutokea kwenye kizigeu kikuu cha data, unataka kuwa na uwezo wa kuwasha mfumo na kutekeleza hatua za kurejesha tena. Kwa hivyo, mimi binafsi hutenga kizigeu tofauti cha /boot. Kuna kernel na bootloader. Kawaida megabytes 500 ni ya kutosha, lakini katika hali nadra zaidi inaweza kuhitajika, na kwa kuzingatia kwamba tayari tumezoea kupima nafasi katika terabytes, ninatenga 2GB kwa sehemu hii. Na jambo muhimu hapa ni kwamba haiwezi kufanywa lvm.

Ifuatayo inakuja mzizi wa mfumo. Kwa usakinishaji wa kawaida, sijawahi kuhitaji zaidi ya GB 4 kwa kila mfumo, lakini wakati wa hafla zilizopangwa mimi hutumia saraka ya /tmp kufungua usambazaji, na sioni sababu yoyote ya kuiweka kwa kizigeu tofauti - katika mifumo ya kisasa. husafishwa kiotomatiki, kwa hivyo haijajazwa. Kwa hivyo ninatenga 8GB kwa mzizi.

Badilisha ... Kwa ujumla, kuna matumizi kidogo ya vitendo kutoka kwayo. Ukianza kutumia kubadilishana kwenye seva yako, leo katika ulimwengu wa kweli hii inamaanisha kuwa seva inahitaji kuongeza RAM zaidi. Vinginevyo, matatizo na utendaji yanahakikishiwa (au kumbukumbu fulani ya "uvujaji" wa programu). Kwa hiyo, sehemu hii inahitajika kwa madhumuni ya uchunguzi tu. Kwa hivyo, 2 GB ni nambari bora. Ndio, bila kujali ni kumbukumbu ngapi kwenye seva. Ndiyo, nilisoma makala hizo zote ambapo imeandikwa kuhusu uwiano wa kiasi cha kumbukumbu kwa kubadilishana kiasi ... IMHO, zimepitwa na wakati. Katika miaka 10 ya mazoezi sijawahi kuhitaji hii. Miaka 15 iliyopita nilitumia, ndiyo.

IMHO, kila mtu anaweza kuamua mwenyewe kama kutenga/nyumba katika kizigeu tofauti. Ikiwa mtu kwenye seva atatumia saraka hii kikamilifu, ni bora kuigawa. Ikiwa hakuna mtu, hakuna haja.

Ifuatayo, /var. Kwa maoni yangu, inapaswa kuangaziwa. Kuanza, unaweza kujiwekea kikomo hadi GB 4, na uone jinsi inavyoendelea. Na ndio, kwa "jinsi inavyoendelea" ninamaanisha hivyo

  1. Kwanza, unaweza kuweka diski nyingine kila wakati kwenye saraka ndogo ya /var (ambayo nitaonyesha baadaye na mfano)
  2. Pili, tunayo lvm - unaweza kuiongeza kila wakati. Na kawaida lazima uiongeze wakati magogo mengi yanapoanza kumiminika huko. Lakini sijawahi kutabiri takwimu hii mapema, kwa hiyo ninaanza na 2 GB na kisha kuangalia.

Nafasi ambayo haijatengwa itasalia bila malipo katika kikundi cha sauti na inaweza kutumika baadaye.

LVM

Wote Inafahamika kufanya kizigeu zaidi ya /boot katika LVM. Ndiyo, ikiwa ni pamoja na kubadilishana. Ndiyo, kwa mujibu wa ushauri wote, ubadilishaji unapaswa kuwa mwanzoni mwa diski, lakini katika kesi ya LVM eneo lake haliwezi kuamua kwa kanuni. Lakini kama nilivyoandika hapo juu, mfumo wako haipaswi tumia kubadilishana kabisa. Kwa hivyo, haijalishi yuko wapi. Kweli, hatuishi katika '95, kwa uaminifu!

Zaidi ya hayo, katika LVM kuna vyombo kadhaa vya msingi ambavyo unahitaji kuweza kuishi navyo:

  • kiasi cha kimwili
  • kikundi cha sauti
  • kiasi cha mantiki

Kiasi cha kimwili kinajumuishwa katika vikundi, na kila kiasi cha kimwili kinaweza kuwa katika kikundi kimoja tu, na kikundi kinaweza kupatikana kwa kiasi kikubwa cha kimwili mara moja.
Na juzuu za kimantiki ziko kila moja katika kundi moja.

Lakini ... Damn, ni karne ya 21 tena. Na seva ni virtual. Haina maana kuzitumia njia zile zile ambazo zilitumika kwa zile za kimwili. Na kwa wale wa kawaida ni muhimu kuwa na data tofauti na mfumo! Hii ni muhimu sana, haswa kwa uwezo wa kubadilisha data haraka kwa mashine nyingine ya kawaida (kwa mfano, wakati wa kubadili OS mpya) na kwa ujumla kwa kila aina ya vitu muhimu (hifadhi nakala tofauti kwa partitions kwa kutumia zana za hypervisor, kwa mfano) . Kwa hiyo, kikundi kimoja cha kiasi kinatumiwa kwa mfumo na lazima mwingine kinatumiwa kwa data! Mgawanyiko huu wa kimantiki husaidia sana maishani!

Ikiwa umeunda diski moja tu ngumu wakati wa kuunda mashine ya kawaida, hapa ndipo usanidi unaisha. Na ikiwa kuna mbili, basi usiweke alama ya pili bado.

Hebu tuanze ufungaji.

Baada ya ufungaji

Kwa hivyo, mfumo mpya uliosanikishwa hatimaye ulianza. Jambo la kwanza unahitaji kuangalia ni mtandao.

ping ya.ru

Je, kuna jibu? - Nzuri, bonyeza Ctrl-C.
Ikiwa sio, nenda kuanzisha mtandao, hakuna maisha bila hii, lakini sivyo makala yangu inahusu.

Sasa kama sisi bado si chini ya mizizi, kwenda chini ya mizizi, kwa sababu ya kuandika ni idadi ya amri zilizo na sudo binafsi zilinivunja (na wasimamizi wa paranoid wanisamehe):

sudo -i

Sasa jambo la kwanza tunalofanya ni kuandika

dnf -y update

Na ikiwa unasoma nakala hii mnamo 2019, uwezekano mkubwa hakuna kitakachotokea, lakini ilistahili kujaribu.

Sasa hebu tusanidi diski iliyobaki

Wacha tuseme kizigeu na mfumo kilikuwa xvda, basi diski ya data itakuwa xvdb. SAWA.

Ushauri mwingi utaanza na "Run fdisk na uunde kizigeu..."

Hivyo hii ni vibaya!

Nitasema tena kwa sababu ni muhimu sana! Katika kesi hii, kufanya kazi na LVM, ambayo inachukua diski moja ya kawaida, kuunda partitions juu yake ni hatari! Kila neno katika kifungu hiki ni muhimu. Ikiwa tunafanya kazi bila LVM, tunahitaji. Ikiwa tuna mfumo na data kwenye diski, tunahitaji. Ikiwa kwa sababu fulani tunahitaji kuacha nusu ya diski tupu, tunapaswa pia. Lakini kawaida mawazo haya yote ni ya kinadharia tu. Kwa sababu ikiwa tunaamua kuongeza nafasi kwenye kizigeu kilichopo, basi njia rahisi zaidi ya kuifanya ni kwa usanidi huu. Na urahisi wa usimamizi unazidi vitu vingine vingi hivi kwamba tunasonga kwa makusudi kuelekea usanidi huu.

Na urahisi ni kwamba ikiwa unataka kupanua kizigeu cha data, unaongeza tu nafasi kwenye kizigeu cha kawaida, kisha upanue kikundi kwa kutumia vgextend na ndivyo hivyo! Katika matukio machache, kitu kingine kinaweza kuhitajika, lakini angalau hutahitaji kupanua kiasi cha mantiki mwanzoni, ambacho tayari ni nzuri. Vinginevyo, ili kupanua kiasi hiki, wanapendekeza kwanza kufuta iliyopo, na kisha kuunda mpya juu ... Ambayo haionekani nzuri sana na haiwezi kufanywa moja kwa moja, lakini upanuzi kulingana na hali niliyoonyesha inaweza kuwa. kutekelezwa "kwa kuruka" bila hata kuteremsha kizigeu.

Kwa hivyo, tunaunda kiasi cha kimwili, kisha kikundi cha kiasi ambacho kinajumuisha, na kisha kizigeu cha seva yetu:

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

Hapa, badala ya herufi kubwa "L" (na saizi katika GB), unaweza kutaja ndogo, na kisha badala ya saizi kamili, taja jamaa, kwa mfano, kutumia nusu ya nafasi ya bure kwa sasa. kikundi cha sauti, unahitaji kutaja "-l + 50% FREE"

Na amri ya mwisho inaunda kizigeu katika mfumo wa faili wa ext4 (ambayo hadi sasa, katika uzoefu wangu, inaonyesha utulivu mkubwa ikiwa kila kitu kitavunjika, kwa hivyo napendelea).

Sasa tunaweka kizigeu mahali pazuri. Ili kufanya hivyo, ongeza mstari sahihi kwa /etc/fstab:

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

Na tunapiga

mount /var/www

Hitilafu ikitokea, piga kengele! Kwa sababu hii inamaanisha kuwa tuna hitilafu katika /etc/fstab. Na kwamba katika kuwasha upya ijayo tutakuwa na matatizo makubwa sana. Mfumo hauwezi boot kabisa, ambayo mara nyingi ni huzuni sana kwa huduma za wingu. Kwa hivyo, inahitajika kusahihisha haraka mstari wa mwisho ulioongezwa, au uifute kabisa! Ndio maana hatukuandika amri ya mlima kwa mikono - basi hatungekuwa na fursa nzuri kama hiyo ya kuangalia usanidi mara moja.

Sasa tunasakinisha kila kitu tunachotaka na kufungua bandari za wavuti:

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

Ikiwa unataka, unaweza pia kuweka hifadhidata hapa, lakini kibinafsi ninajaribu kuiweka tofauti na seva ya wavuti. Ingawa kumweka karibu ni haraka, ndio. Kasi ya adapta za mtandao wa kawaida huwa karibu na gigabit, na wakati wa kufanya kazi kwenye mashine moja, simu hutokea karibu mara moja. Lakini ni salama kidogo. Ni nini muhimu zaidi kwa nani?

Sasa tunaongeza paramu kwenye faili ya usanidi (tunaunda mpya, itikadi ya kisasa ya CentOS ni kama hii)

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

Tunaanzisha tena seva.
Katika maoni, nilitukanwa kwa kunishauri kuzima SeLinux, kwa hivyo nitajirekebisha na kuandika juu ya ukweli kwamba baada ya hii unahitaji kukumbuka kusanidi SeLinux.
Kweli, faida! πŸ™‚

Chanzo: mapenzi.com

Kuongeza maoni