Minu kogemus Pleskiga

Tahaksin jagada muljeid sellise asja vajalikkusest või ebavajalikkusest nagu kommertsliku ühe serveri veebiprojekti juhtpaneel väga osalise tööajaga administraatoriga. Lugu sai alguse paar aastat tagasi, kui sõprade sõbrad palusid mul abistada ettevõtte – uudistesaidi – ostmisel tehnilisest küljest. Tuli veidi süveneda sellesse, mis mille kallal töötab, veenduda, et kõik vajalikud detailid oleksid õiges vormis ja mahus üle kantud ning strateegiliselt välja mõelda, mida saaks parandada.

Minu kogemus Pleskiga
Tehing sai tehtud, viiuldajat polnud enam vaja. Lõpp. Mitte päris.

Sait töötas kahetuumalises 4-GB VM-is Linode'is, mõnel samblasel Debian5-l, mille tööaeg oli 400 päeva ja selline värskendamata pakettide loend. Veebiosa ise kirjutatud CMS-il, nginxil, php5.3 FPM-il, mysql-iga häälestatud Perconal. Põhimõtteliselt töötas.

Paralleelselt vestlustega minuga otsis uus omanik programmeerijat, kes viiks projekti ootustele. Leitud. Programmeerija hindas liiklust ja mahtusid ning otsustas, et teab, kuidas optimeerida ja kulusid juhtida. Ta viis kogu saidi üle 700-rublasesse jagatud hostimisse, mida haldab tema tavaline IS****er. Mõni päev hiljem helistas omanik veel: "kõik on aeglane ja tundub, et oleme katki." Üritasin olukorda paneeli kaudu parandada, kuid pärast mõnda aega kestnud tulutuid katseid muuta PHP versioon või töötleja fcgi-lt fpm-le, andsin alla ja läksin kesta. Seal leidsin lubatud silumise, mis säras kogu Internetis lihase parooliga, 777 mõnel kaustal, mis selleks ajaks mõrasid pahavara ja sarnase jamaga. Omanik taipas ja otsustas, et on vale säästa hostimise, programmeerija ja adminni arvelt, kes saaks asjade kulgemisel silma peal hoida.

Me läheme RuVDS-i. Natuke lähemal kui Briti Linode ja kui soovite ootamatult isikuandmeid ja kõike seda salvestada, ei pea te kuhugi mujale kolima. Kuna projekti oli plaanis laiendada, võtsime kasvuks VM-i: 4 tuuma, 8 gigabaiti mälu, 80GB ketast. Asi pole selles, et ma ei tea, kuidas nginxi konfiguratsioone käsitsi konfigureerida, mul polnud lihtsalt entusiasmi selle projekti kallal nii intiimselt töötada (vt osalise tööajaga kohta eespool). Sellepärast installisin Pleski (siin jätan installi üksikasjad välja, sest üldiselt neid pole: käivitasin installija, määrasin administraatori parooli, sisestasin võtme - see on kõik), sel ajal oli see 17.0. Põhiseaded töötavad karbist välja võttes talutavalt, olemas on fail2ban ning uusimad saadaolevad PHP ja nginxi versioonid. 

Tõenäoliselt tasub peatuda ja selgitada, miks. Kuna ma tegelen selliste asjadega harva ja mul pole igaks juhuks spetsiaalseid tööriistu ega ettevalmistuste komplekti, siis oli selge, et vaja on mingit elementaarsete asjade automatiseerimist, et esiteks kiiresti, teiseks ohutult ja kolmandaks. , kõik parimad tavad, mille keegi on selle juba rakendanud.

Niisiis, ma installisin selle. Säästsin palju aega, saidi taaskäivitamine uues serveris oli peaaegu silmapilkne. Jäi üle vaid lihase konfiguratsiooni redigeerida, andes sellele pool mälu ja suurendades puhverkogumite arvu ning anda nginxile pooled tuumad (Plesk ei puuduta globaalseid konfiguratsioone) ja minna paariks päevaks kestasse vaatama. mysqltuneri statistikas. Jah, ja ostsin laienduste kataloogist tasulise ImunifyAV-i, et üleujutatud pahavarast lahti saada. Leiti umbes 11000 XNUMX nakatunud faili. Jälgedus on see, et staatikasse valati ähmaseid koodijuppe ja selle käsitsi puhastamine oleks olnud täiesti nüri. Kõigepealt proovisin ClamAV-i, kuid nagu selgus, see ei nõua selliseid asju, kuid ImunifyAV võiks seda teha. Pealegi jäävad desinfitseeritud failid töökorda, pahavaraga tükk lihtsalt kustutatakse.

Aritmeetika on lihtne: VMka jaoks 50 dollarit kuus, Pleski jaoks 10 dollarit (tegelikult vähem, sest ostsite selle aastaks korraga kahe kuu allahindlusega) ja 3 dollarit viirusetõrje. Või palju raha oma aja eest, mille oleksin algul serverile kulutanud, käsitsi neid talli riisudes. Omanik oli selle korraldusega väga rahul.

Minu kogemus Pleskiga
Vahepeal leidsid nad uue programmeerija. Leppisime temaga kokku vastutuse jaotuses, lõime testversioonile alamdomeeni ja töö algas. Ta lõikas Laravelis saidi uut versiooni ja ma vaatasin fail2ban%).

Minu kogemus Pleskiga
Huvitaval kombel uudishimulike vool ei lakka ja keelatud aadresside nimekirjas on alati sadakond aadressi. Efekt on huvitav: tavaliselt näen tavaliselt shellis sisselogimisel umbes 20000 30000–2 70 ebaõnnestunud SSH kaudu sisselogimiskatset. With fail0ban enabled, umbes 2. Investeeritud jõupingutused: XNUMX. Kahjuks ei olnud see ilma tilga salvita. Vaikimisi oli WAF (modecurity) pooleldi lubatud: avastusrežiimis. See tähendab, et ta kirjutas logisse kahtlase tegevuse, kuid tegelikult ei võtnud midagi ette. Ja failXNUMXban luges vastavalt lubatud vanglatele valimatult kõiki logisid ja tappis kõik, mis liikus. Seega keelasime pooled toimetajad ära :D. Usaldusväärsuse huvides pidin selle vangla keelama ja vajalike IP-aadresside loendisse lisama. Tehakse jõupingutusi: torkake kaks korda hiirt ja õpetage toimetajaid teile teie IP-aadressi ütlema.

Minu kogemus Pleskiga
Programmeerijale meeldis kohe võimalus andmebaase otse paneeli üles laadida ja kiire juurdepääs phpMyAdminile

Minu kogemus Pleskiga
Mulle meeldisid logid ja varukoopiad. Palgid kirjutatakse ja pööratakse kastist välja; Varukoopiaid on väga lihtne seadistada. Kõige aeglasematel aegadel tehakse täielik varukoopia, umbes 10 kontserti ja seejärel iga päev üks juurdekasvu, igaüks 200 megabaiti nädala jooksul. Taastamine on üksikasjalik, kuni konkreetse faili või andmebaasini. Kui teil on vaja taastada järk-järgult, siis ei pea te esmalt vaeva nägema kogu ahela täieliku ja taastamisega, Plesk teeb kõik ise. Varukoopiaid saate üles laadida kõikjal: FTP-sse, dropboxi, s3 ämbrisse, Google Drive'i jne.

Minu kogemus Pleskiga
F päev: programmeerija sai lõpuks uue mootori valmis, laadisime selle tootmisse, importisime vanad andmed ja istusime oma tulevase Maserati värvi valima. Ikka istume ja valime.

Algasid esimesed probleemid. Uus sait oli eeldatavalt raskem kui vana, kuid tõeline reha oli see, et liikluse meelitamiseks kasutasid nad muu hulgas Yandex.Zeni, mis tõi kohale palju külastajaid. Sait jooksis kokku 150 samaaegse ühendusega (ma ei räägi RPS-ist, sest nad ei mõõtnud seda). Hakkasime php_fpm sätete alal nuppe torkima ja nuppe keerama:
 
Minu kogemus Pleskiga
Hei, tal on juba 500 ühendust. Kuna reklaamivahenditele lisandusid krediitkaardid, muutusid liikluslained suuremaks. Järgmine verstapost on 1000 samaaegset ühendust. Siin pidime koodi viimistlema ja uurima lihase hinge. Pritsimine ei aidanud, aga ega me seda väga ei oodanudki. Lubasime aeglase päringulogi, lisasime andmebaasi indeksid, eemaldasime koodist mittevajalikud päringud ja puhastasime mysqltuneri nõuannete järgi veel kord mysql konfiguratsiooni.

Uus väljakutse – 2000 ühendust. Äsja jõudis välja anda Plesk 17.8 versioon, kuhu muuhulgas lisati ka nginxi vahemälu. Uuendatud (üllatavalt lihtne). Proovime. Töötab! Ja siis astusid nad pehmele küljele, Yandex.Zeni voog lakkas töötamast. Sait töötab, voog ei tööta. Sööt ei tööta, liiklus puudub. Atmosfäär kuumeneb. Olude sunnil ja kujutlusvõime puudumise tõttu läksin kohe strace ja nginxi juurde ning leidsin selle, mida otsisin. Selgub, et mingil hetkel jättis loll nginx vahemällu eksinud 500. vea vastuseks Yandex get feed.xml-le. Parandatud, lisades vahemälu seadetele erandeid:

Minu kogemus Pleskiga
Selge see, et omanikul on ROHKEM vaja, lained tasapisi tõusevad. Praegu saame hakkama, aga memcachediga hakkasime juba eelnevalt katsetama, õnneks toetab Laravel seda peaaegu karbist väljas. Ma millegipärast ei tahtnud memcachedit käsitsi installida, et lihtsalt "ringi mängida", nii et installisin dokipildi. Otse paneelilt.

Minu kogemus Pleskiga
Noh, okei, ma valetan, pidin kesta sisse minema ja mooduli pecl kaudu installima. Täpselt nii juhiseid. Läbilaskevõime kasvu kohta pole veel midagi öelda, piisavalt suuri sissevoolusid pole olnud. Saidi mootor on ühendatud localhost:11211-ga, kuvatakse statistikat, mälu kulub. Kui teile meeldib, siis vaatame, mida edasi teha. Kas jätame selle nii või paneme "päris" otse teljesse. Või proovime samamoodi redis

Siis oli vaja lisada meililist. Releed pole, ainult smtp autentimine. Seadistasin e-posti aadressi ja kasutan selle andmeid PHP kaudu uudiskirja saatmiseks.

Minu kogemus Pleskiga
Mitte kaua aega tagasi ilmus Plesk Obsidian (18.0), mida värskendasime kartmata varasemate kogemuste põhjal. Kõik läks väga ladusalt, pole isegi millestki rääkida. Meeldiv on see, et liidese kvaliteet on kõvasti paranenud, muutunud kaasaegsemaks ja kohati mugavamaks. Lahe asi Grafana täiustatud jälgimine.

Minu kogemus Pleskiga
Ma ei ole seda veel üksikasjalikult käsitlenud, kuid saate näiteks oma meilis mis tahes parameetri jaoks märguandeid seadistada. Omanikule, lol.

Kuigi ma räägin liidesest, on see tundlik ja töötab telefonis väga hästi. Algstaadiumis, kui püüdsime leida PHP ja muude asjade jaoks optimaalseid sätteid, aitas see palju. Ja eriti siis, kui programmeerija töövaimustuses kell 23:XNUMX midagi teeb ja mina joon töövaimustuses saunas viina ja mul on KIIRELT vaja midagi vahetada.

Minu kogemus Pleskiga
Oh, muide. Pildil on näha, et ilmus PHP Composer. Me pole sellega veel mänginud, kuid näiteks Laraveli jaoks võib see säästa paar shelli sisselogimist ja veidi aega sõltuvuste installimisel. Sama süsteem on Node.JS ja Ruby jaoks.

SSL-iga on kõik lihtne. Kui domeen laheneb ootuspäraselt, tehakse Let’s Encrypt ühe klõpsuga ja seejärel värskendatakse ennast nii domeeni enda kui ka alamdomeenide ja isegi meiliteenuste jaoks.

Minu kogemus Pleskiga
Plesk ise tarkvarana on hetkel üsna meeldiv ja stabiilne. See värskendab ennast ja telge vaikselt, tarbib vähe ressursse ja töötab sujuvalt. Ma isegi ei mäleta, et oleksin kuskil millelegi peale astunud, mis oleks olnud toote ilmne defekt. Muidugi oli probleeme, kuid need olid tingitud ebatäiuslikust konfiguratsioonist või kuskil ristmikul, nii et pole millegi üle kurta. Muljed Pleskiga töötamisest on üldiselt meeldivad. Mida sellel puudub ja me peame seda mõistma, on mis tahes (mis tahes) rühmitus. Ei LB ega HA. Võite proovida, kuid sellega kaasnevad pingutused on nii suured, et parem on algusest peale midagi teistmoodi teha.

Ma arvan, et saame selle kokku võtta. Juhtudeks, kui administraatorit pole või temast ei piisa, kui hostimise ja sellel pöörleva(te) saidi(de) hind ületab näiteks 100 USD, kui me ei räägi 1500 loomsest jagamisest saidid serveris, kui otsustaja seisab silmitsi Kui teil on valida, kas palgata osalise tööajaga administraator või osta tarkvara ja omada administraatorit poole raha eest või üldse mitte omada – see on kindlasti mõistlik. Kaughalduri seisukohalt – sama asi. 10 dollarit kuus ning säästab aega ja annab töös paindlikkuse väga pikaks ajaksоsuurem summa. Kui näiteks mul palutakse tungivalt mõni samalaadne projekt enda tiiva alla võtta, siis jään selle Pleskile üle andma.

Minu kogemus Pleskiga

Allikas: www.habr.com

Lisa kommentaar