Mano patirtis su Plesku

Norėčiau pasidalinti įspūdžiais apie tokio dalyko kaip valdymo pultelis komerciniam vieno serverio web projektui reikalingumą ar nereikalingumą su labai nepilnu etatu dirbančiu administratoriumi. Istorija prasidėjo prieš porą metų, kai draugų draugai paprašė manęs padėti įsigyti verslą – naujienų svetainę – iš techninės pusės. Reikėjo šiek tiek įsigilinti, kas ką veikia, įsitikinti, kad visos reikalingos detalės buvo perkeltos tinkama forma ir apimtimi, ir strategiškai sugalvoti, ką būtų galima patobulinti.

Mano patirtis su Plesku
Sandoris buvo baigtas, smuikininko nebereikėjo. Galas. Ne visai.

Svetainė veikė dviejų branduolių 4 GB virtualioje mašinoje „Linode“, kai kuriuose „Debian5“ įrenginiuose, kurių veikimo laikas buvo 400 dienų, ir toks neatnaujintų paketų sąrašas. Tinklalapio dalis savarankiškai parašyta TVS, nginx, php5.3 FPM, mysql suderinta Percona. Iš principo pavyko.

Lygiagrečiai su pokalbiais su manimi, naujasis savininkas ieškojo programuotojo, kad projektas atitiktų lūkesčius. Rasta. Programuotojas, įvertinęs srautą ir apimtis, nusprendė, kad žino, kaip optimizuoti ir valdyti išlaidas. Jis perkėlė visą svetainę į 700 rublių bendrą prieglobą, valdomą jo įprasto IS****erio. Po kelių dienų dar vienas skambutis iš savininko: „Viskas vyksta lėtai ir atrodo, kad esame sugedę“. Bandžiau taisyti situaciją per skydelį, bet po kurio laiko bevaisių bandymų pakeisti PHP versiją ar tvarkyklę iš fcgi į fpm, pasidaviau ir nuėjau į apvalkalą. Ten radau įjungtą derinimą, kuris švietė visame internete su slaptažodžiu iš raumens, 777 kai kuriuose aplankuose, kurie tuo metu buvo nulaužti nuo kenkėjiškų programų ir panašių nesąmonių. Savininkas suprato ir nusprendė, kad neteisinga taupyti hostingui, programuotojui ir administratoriui, kuris galėtų stebėti, kaip viskas vyksta.

Vykstame į RuVDS. Šiek tiek arčiau nei britiškas Linode, o jei staiga norėsite saugoti asmeninius duomenis ir visa tai, niekur kitur kraustytis nereikės. Kadangi projektą planavo plėsti, augimui paėmėme VM: 4 branduoliai, 8 gigabaitai atminties, 80GB disko. Tai nereiškia, kad aš nežinau, kaip rankiniu būdu sukonfigūruoti nginx konfigūracijas, tiesiog neturėjau entuziazmo taip intymiai dirbti su šiuo projektu (žr. aukščiau apie ne visą darbo dieną). Štai kodėl aš įdiegiau „Plesk“ (čia praleisiu diegimo informaciją, nes iš esmės jų nėra: paleidau diegimo programą, nustatiau administratoriaus slaptažodį, įvedžiau raktą - tai viskas), tuo metu buvo 17.0. Pagrindiniai nustatymai veikia pakenčiamai, yra fail2ban ir naujausios galimos PHP bei nginx versijos. 

Tikriausiai verta sustoti ir paaiškinti, kodėl. Kadangi tokius dalykus darau retai, o ir specialių įrankių ar pasiruošimo kiekvienam atvejui rinkinio neturiu, tai buvo aišku, kad reikia kažkokios elementarių dalykų automatizavimo, kad pirma greitai, antra, saugiai, trečia , visa geriausia praktika, kurią kažkas jau įdiegė.

Taigi, aš jį įdiegiau. Sutaupiau daug laiko, svetainės paleidimas naujame serveryje buvo beveik akimirksniu. Liko tik redaguoti raumenų konfigūraciją, suteikiant jai pusę atminties ir padidinant buferinių telkinių skaičių, o nginx duoti pusę branduolių (Plesk neliečia globalių konfigūracijų), ir porai dienų eiti į apvalkalą pažiūrėti mysqltuner statistikoje. Taip, ir aš nusipirkau mokamą ImunifyAV iš plėtinių katalogo, kad atsikratyčiau užtvindytos kenkėjiškos programos. Buvo rasta apie 11000 XNUMX užkrėstų failų. Bjaurybė ta, kad į statiką buvo supiltos užtemdytos kodo dalys, kurias valyti rankomis būtų buvę visiškai nuobodu. Pirmiausia išbandžiau ClamAV, bet, kaip paaiškėjo, tokių dalykų nereikia, bet ImunifyAV galėjo. Be to, dezinfekuoti failai išlieka darbingi, gabalas su kenkėjiška programa tiesiog ištrinamas.

Aritmetika paprasta: 50 USD per mėnesį už VMka, 10 USD už Plesk (realiai mažiau, nes pirkai metams iš karto su dviejų mėnesių nuolaida) ir 3 USD už antivirusinę. Arba daug pinigų už savo laiką, kuriuos iš pradžių būčiau išleidęs serveryje, rankiniu būdu grėbdamas šias arklides. Savininkas buvo labai patenkintas tokiu susitarimu.

Mano patirtis su Plesku
Tuo tarpu jie susirado naują programuotoją. Sutarėme su juo dėl atsakomybės paskirstymo, sukūrėme bandomosios versijos subdomeną ir prasidėjo darbas. Jis kūrė naują Laravel svetainės versiją, o aš žiūrėjau fail2ban%).

Mano patirtis su Plesku
Įdomu tai, kad smalsuolių srautas nesiliauja ir draudžiamųjų sąraše visada yra apie šimtą adresų. Poveikis įdomus: dažniausiai, kai prisijungiu prie apvalkalo, sveikinimosi metu matau apie 20000 30000–2 70 nesėkmingų bandymų prisijungti per SSH. Įjungus fail0ban, apie 2. Įdėtos pastangos: XNUMX. Deja, neapsiėjo be lašelio tepalo. Pagal numatytuosius nustatymus WAF (modsecurity) buvo iš dalies įjungtas: aptikimo režimu. Tai yra, jis įrašė į žurnalą įtartiną veiklą, bet iš tikrųjų nesiėmė jokių veiksmų. Ir failXNUMXban beatodairiškai skaitė visus žurnalus, pagal įjungtus kalėjimus, ir nužudė viską, kas judėjo. Taigi pusę redaktorių užblokavome :D. Turėjau išjungti šį kalėjimą ir būtinų IP adresų sąraše, kad būtų patikimumas. Įdėtos pastangos: du kartus bakstelėkite pelę ir išmokykite redaktorius pasakyti jūsų IP adresą.

Mano patirtis su Plesku
Programuotojui iškart patiko galimybė įkelti duomenų bazes tiesiai į skydelį ir greita prieiga prie phpMyAdmin

Mano patirtis su Plesku
Man patiko žurnalai ir atsarginės kopijos. Rąstai rašomi ir pasukami iš dėžutės; Atsargines kopijas sukurti labai paprasta. Lėčiausiu metu sukuriama visa atsarginė kopija, apie 10 koncertų, o paskui kiekvieną dieną po vieną, po 200 megabaitų, savaitę. Atkūrimas yra smulkus, iki konkretaus failo ar duomenų bazės. Jei reikia atkurti iš laipsniško, tada nereikia pirmiausia vargti su pilna ir visos grandinės atkūrimu, Plesk viską daro pats. Atsargines kopijas galite įkelti bet kur: į FTP, dropbox, s3 bucket, google diską ir kt.

Mano patirtis su Plesku
F diena: programuotojas pagaliau užbaigė naują variklį, įkėlėme jį į gamybą, importavome senus duomenis ir sėdome pasirinkti būsimojo Maserati spalvos. Vis dar sėdime ir renkamės.

Prasidėjo pirmosios problemos. Tikimasi, kad naujoji svetainė buvo sunkesnė nei senoji, tačiau tikrasis grėblys buvo tai, kad srautui pritraukti jie, be kita ko, naudojo „Yandex.Zen“, pritraukusią daugybę lankytojų. Svetainė sudužo su 150 jungčių vienu metu (aš nekalbu apie RPS, nes jie to neišmatavo). Pradėjome spausti mygtukus ir sukti rankenėles php_fpm nustatymų srityje:
 
Mano patirtis su Plesku
Ei, jis jau turi 500 ryšių. Prie reklamos priemonių pridėjus kredito korteles, srauto bangos tapo didesnės. Kitas etapas – 1000 jungčių vienu metu. Čia turėjome atnaujinti kodą ir pažvelgti į raumens sielą. Aptaškymas nepadėjo, bet tikrai to nesitikėjome. Įjungėme lėtą užklausų žurnalą, įtraukėme indeksus į duomenų bazę, pašalinome nereikalingas užklausas iš kodo ir dar kartą išvalėme mysql konfigūraciją pagal mysqltuner patarimą.

Naujas iššūkis – 2000 prisijungimų. Ką tik pavyko išleisti Plesk 17.8 versiją, kurioje, be kita ko, buvo pridėta nginx talpyklos talpa. Atnaujinta (stebėtinai lengva). Pabandykime. Veikia! Ir tada jie žengė į minkštąją pusę, „Yandex.Zen“ tiekimas nustojo veikti. Svetainė veikia, kanalas neveikia. Pašaras neveikia, nėra eismo. Atmosfera įkaista. Spaudžiamas aplinkybių ir fantazijos stokos, iš karto nuėjau į strace ir nginx ir radau tai, ko ieškojau. Pasirodo, kad tam tikru momentu kvailas nginx talpykloje išsaugojo 500-ąją klaidą kaip atsakymą į Yandex get feed.xml. Ištaisyta pridedant išimtis prie talpyklos nustatymų:

Mano patirtis su Plesku
Aišku, kad šeimininkui reikia DAUGIAU, bangos pamažu didėja. Kol kas susitvarkome, bet iš anksto pradėjome eksperimentuoti su memcached, laimei, Laravel palaiko jį beveik iš karto. Kažkaip nenorėjau įdiegti „memcached“ rankiniu būdu, kad galėčiau „pažaisti“, todėl įdiegiau „Docker“ vaizdą. Tiesiai iš skydelio.

Mano patirtis su Plesku
Na, gerai, meluoju, turėjau įeiti į apvalkalą ir įdiegti modulį per pecl. Teisingai instrukcijos. Apie pralaidumo padidėjimą kol kas nėra ką pasakyti, nebuvo pakankamai didelių antplūdžių. Svetainės variklis prijungtas prie localhost:11211, rodoma statistika, eikvojama atmintis. Jei patiks, žiūrėsime, ką daryti toliau. Arba paliksime tai taip, arba „tikrąjį“ įdėsime tiesiai į ašį. Arba pabandykime redis tokiu pat būdu

Tada reikėjo pridėti adresatų sąrašą. Jokių relių, tik smtp autentifikavimas. Aš nustatau pašto adresą ir naudoju jo informaciją, kad išsiųsčiau naujienlaiškį per PHP.

Mano patirtis su Plesku
Neseniai buvo išleistas Plesk Obsidian (18.0), atnaujinome remdamiesi ankstesne patirtimi be baimės. Viskas praėjo labai sklandžiai, net nėra apie ką kalbėti. Smagu tai, kad labai pagerėjo sąsajos kokybė, ji tapo modernesnė ir vietomis tapo patogesnė. Šaunus dalykas Išplėstinis Grafana stebėjimas.

Mano patirtis su Plesku
Aš dar nenagrinėjau to išsamiai, bet galite, pavyzdžiui, nustatyti įspėjimus dėl bet kurio parametro savo el. laiške. Savininkui, lol.

Nors aš kalbu apie sąsają, ji reaguoja ir labai gerai veikia telefone. Pradiniame etape, kai bandėme rasti optimalius PHP ir kitų dalykų nustatymus, tai labai padėjo. Ir ypač, kai programuotojas, apimtas darbo entuziazmo, ką nors veikia 23:XNUMX, o aš, darbo entuziazmo priepuolis, geriu degtinę pirtyje, o man SKUBIAI reikia ką nors pakeisti.

Mano patirtis su Plesku
O, beje. Nuotraukoje matyti, kad pasirodė PHP Composer. Mes dar nežaidėme su juo, bet, tarkime, Laravel, tai gali sutaupyti porą apvalkalo prisijungimų ir šiek tiek laiko diegti priklausomybes. Ta pati sistema egzistuoja Node.JS ir Ruby.

Su SSL viskas paprasta. Jei domenas išsprendžiamas taip, kaip tikėtasi, „Encrypt“ atliekama vienu paspaudimu ir atnaujinama pati, tiek pačiam domenui, tiek subdomenams ir net pašto paslaugoms.

Mano patirtis su Plesku
Pati Plesk kaip programinė įranga šiuo metu yra gana maloni ir stabili. Jis tyliai atnaujina save ir ašį, sunaudoja mažai išteklių ir veikia sklandžiai. Net nepamenu, kad kažkur užlipau ant ko nors, kas būtų buvęs akivaizdus gaminio trūkumas. Žinoma, buvo problemų, bet jos atsirado dėl netobulos konfigūracijos arba kažkur sankryžoje, todėl skųstis tikrai nėra kuo. Įspūdžiai dirbant su Plesk apskritai malonūs. Tai, ko jis neturi, ir mes turime tai suprasti, yra bet koks (bet koks) grupavimas. Nei LB, nei HA. Galima bandyti, bet bus tiek pastangų investuota, kad geriau nuo pat pradžių kažką daryti kitaip.

Manau, galime apibendrinti. Tuo atveju, kai nėra administratoriaus arba jo nepakanka, kai prieglobos ir jame besisukančios (-ių) svetainės (-ių) kaina viršija, na, tarkim, 100 USD, kai nekalbame apie 1500 dalijimąsi. svetaines serveryje, kai sprendimą priimantis asmuo susiduria su Jei turite pasirinkimą: samdyti ne visą darbo dieną dirbantį administratorių, ar pirkti programinę įrangą ir turėti administratorių už pusę pinigų, ar jo visai neturėti – tai tikrai prasminga. Nuotolinio administratoriaus požiūriu – tas pats. 10 USD per mėnesį, taupo laiką ir suteikia lankstumo darbui labai ilgamоdidesnę sumą. Jei, pavyzdžiui, manęs primygtinai paprašys paimti panašų projektą po savo sparnu, primygtinai siūlysiu jį perkelti į Pleską.

Mano patirtis su Plesku

Šaltinis: www.habr.com

Добавить комментарий