Ech géif gÀren e puer Impressiounen iwwer d'Noutwennegkeet oder d'Onnéidegheet vun esou enger Saach wéi e Kontrollpanel fir e kommerziellen Single-Server Webprojet mat engem ganz DeelzÀitverwalter deelen. D'Geschicht huet virun e puer Joer ugefaang, wéi d'Frënn vu Frënn mech gefrot hunn beim Kaf vun engem GeschÀft - eng NoriichtensÀit - aus technescher Siicht ze hëllefen. Et war néideg e bëssen ze verdéiwen, wat op wat fonctionnéiert, sécherzestellen datt all déi néideg Detailer an der richteger Form a Volumen transferéiert goufen, a strategesch erauszefannen, wat kéint verbessert ginn.
Den Deal war ofgeschloss, de Violonist war net méi gebraucht. Enn. Net wierklech.
D'WebsÀit huet op enger Dual-Core 4GB VM op Linode gelaf, op engem Mooss-System. Debian5 mat 400 Deeg Uptime an enger laaaaanger Lëscht vun net aktualiséierte Paketen. De Webpart ass op engem personaliséierten CMS, nginx, PHP 5.3 FPM an engem optiméierte Percona MySQL. Et huet am Fong funktionéiert.
Parallel mat Gespréicher mat mir huet den neie Besëtzer no engem Programméierer gesicht fir de Projet op d'Erwaardungen ze bréngen. fonnt. De Programméierer huet de Verkéier an d'BÀnn bewÀert an huet decidéiert datt hie wousst wéi hien optiméiert a KÀschtemanagement. Hien migréiert de ganze Site op e 700-Rubel Shared Hosting, dee vu sengem gewéinleche IS****er geréiert gëtt. E puer Deeg méi spéit gouf et en aneren Uruff vum Besëtzer: "Alles ass lues an et schéngt mir gebrach ze sinn." Ech hu probéiert d'Situatioun duerch de Panel ze korrigéieren, awer no enger ZÀit vu fruchtlosen Versuche fir d'PHP Versioun oder Handler vun fcgi op fpm z'Ànneren, hunn ech opginn an an d'Schuel gaang. Do hunn ech en aktivéierten Debug fonnt, deen um ganzen Internet mat dem Passwuert vum Muskel blénkt, 777 op e puer Ordner, déi zu dÀr ZÀit mat Malware an Àhnlechen Blödsinn geknackt hunn. De Besëtzer huet gemierkt an decidéiert datt et falsch war fir op Hosting, e Programméierer an en Admin ze spueren, deen en Aa konnt behalen wéi d'Saache weidergeet.
Mir ginn op RuVDS. E bĂ«sse mĂ©i no wĂ©i dĂ©i britesch Linode, a wann Dir op eemol persĂ©inlech DonnĂ©eĂ«n an all dĂ«st wĂ«llt spĂ€icheren, musst Dir net soss anzwuesch plĂ«nneren. ZĂ«nter datt de Projet geplangt war fir erweidert ze ginn, hu mir e VM fir de Wuesstum geholl: 4 Cores, 8 Gigabytes ErĂ«nnerung, 80GB Disk. Et ass net datt ech net weess wĂ©i ech nginx Konfiguratiounen manuell konfigurĂ©ieren, ech hat just net d'Begeeschterung fir sou intim un dĂ«sem Projet ze schaffen (kuckt uewen iwwer DeelzĂ€it). Duerfir hunn ech Plesk installĂ©iert (hei wĂ€ert ech d'Installatiounsdetailer ausgoen, well et am grousse Ganze keng sinn: Ech hunn den Installateur lancĂ©iert, d'Passwuert fir den Admin gesat, de SchlĂ«ssel aginn - dat ass alles), deemools war et 17.0. Basis Astellunge funktionnĂ©ieren tolerabel aus der KĂ«scht, et gĂ«tt fail2ban an dĂ©i lescht verfĂŒgbar Versioune vu PHP an nginx.
Et ass wahrscheinlech derwÀert ze stoppen an z'erklÀren firwat. Well ech selten esou Saache maachen, an ech keng speziell Tools oder Virbereedunge fir all Fall hunn, war et kloer datt eng Aart vun Automatisatioun vu Basissaachen gebraucht gëtt, sou datt éischtens séier, zweetens, sécher an drëttens , all déi bescht Praktiken, déi een et schonn ëmgesat huet.
Also, ech hunn et installéiert. Ech hunn vill ZÀit gespuert, de Site op engem neie Server nei starten war bal direkt. Alles wat bliwwen ass war d'Muskelkonfiguratioun z'Ànneren, et d'Halschent vun der Erënnerung ze ginn an d'Zuel vun de Pufferpools ze erhéijen, an nginx d'Halschent vun de KÀren ze ginn (Plesk beréiert net global Konfiguratiounen), a fir e puer Deeg an d'Schuel goen fir ze kucken an de mysqltuner Statistiken. Jo, an ech hunn de bezuelte ImunifyAV aus dem VerlÀngerungskatalog kaaft fir vun der iwwerschwemmter Malware lass ze ginn. Eng 11000 infizéiert Dateie goufen fonnt. D'Abomination ass datt obfuscéiert Stécker vu Code an d'Statik gegoss goufen, an d'Botzen vun der Hand wier komplett déif gewiescht. Als éischt hunn ech ClamAV probéiert, awer, wéi et sech erausstellt, hëlt et net sou Saachen, awer ImunifyAV kéint. Ausserdeem bleiwen déi desinfizéiert Dateien am funktionnellen Zoustand; d'Stéck mat der Malware gëtt einfach gelÀscht.
D'Arithmetik ass einfach: $ 50 pro Mount fir VMka, $ 10 fir Plesk (tatsÀchlech manner, well Dir et fir ee Joer op eemol mat enger Remise vun zwee Méint kaaft hutt) an $ 3 fir Antivirus. Oder vill Sue fir meng ZÀit, déi ech am Ufank um Server ausginn hÀtt, dës StÀll manuell ze raken. De Besëtzer war ganz zefridden mat dëser Arrangement.

An der TëschenzÀit hunn se en neie Programméierer fonnt. Mir hunn mat him iwwer d'Verdeelung vun der Verantwortung ausgemaach, e Subdomain fir d'Testversioun erstallt an d'Aarbechten ugefaang. Hien huet eng nei Versioun vum Site op Laravel geschnidden, an ech hunn op fail2ban% gekuckt.

Interessanterweis hĂ€lt de Flux vu virwĂ«tzeg Leit net op an et sinn Ă«mmer ongefĂ©ier honnert Adressen op der LĂ«scht vun de verbuede. Den Effekt ass interessant: Besonnesch, normalerweis, wann ech an eng Shell aloggen, gesinn ech ongefĂ©ier 20000-30000 MĂ«ssglĂ©ckt Versuche fir iwwer SSH bei der BegrĂ©issung aloggen. Mat fail2ban aktivĂ©iert, iwwer 70. Efforten investĂ©iert: 0. Leider war et net ouni DrĂ«ps Sallef. Par dĂ©faut war WAF (Modsecurity) hallef aktivĂ©iert: am Entdeckungsmodus. Dat ass, hien huet verdĂ€chteg AktivitĂ©it op de Logbuch geschriwwen, awer tatsĂ€chlech keng Handlung gemaach. A fail2ban liest onofhĂ€ngeg all d'Logbicher, laut den aktivĂ©ierten Prisongen, an huet alles Ă«mbruecht wat sech beweegt. Domat hu mir d'Halschent vun den Redaktiounen verbannt :D. Ech hu missen dĂ«se Prisong auszeschalten, an dĂ©i nĂ©ideg IP Adressen fir ZouverlĂ€ssegkeet Whitelist. Efforte ginn investĂ©iert: drĂ©ckt d'Maus zweemol a lĂ©iert d'Redaktoren Iech Ăr IP Adress ze soen.

Wat de Programméierer direkt gÀr huet, war d'FÀegkeet fir Datenbanken direkt an de Panel eropzelueden a séier Zougang zu phpMyAdmin

Wat ech gÀr hunn waren d'Logbicher a Backups. Logbicher sinn geschriwwe an aus der Këscht rotéiert; Backups si ganz einfach ze konfiguréieren. Zu de luessten ZÀiten gëtt e komplette Backup gemaach, ongeféier 10 Optrëtter, an dann all Dag eng inkrementell, 200 Megabytes all, fir eng Woch. Erhuelung ass granulÀr, erof op eng spezifesch Datei oder Datebank. Wann Dir musst vun engem inkrementelle restauréieren, da musst Dir Iech net als éischt mat enger voller a Restauratioun vun der ganzer Kette beméien, Plesk mécht alles selwer. Dir kënnt Backups iwwerall eroplueden: op FTP, Dropbox, s3 Eemer, Google Drive, etc.

Dag F: de ProgrammĂ©ierer huet endlech den neie Motor ofgeschloss, mir hunn et an d'Produktioun eropgelueden, al Daten importĂ©iert a sech gesat fir d'Faarf vun eisem zukĂŒnftegen Maserati ze wielen. Mir sĂ«tzen nach a wielen.
Déi éischt Problemer hunn ugefaang. Deen neie Site war erwaart méi schwéier wéi déi al, awer de richtege Rake war datt fir Traffic unzezéien, hunn se ënner anerem Yandex.Zen benotzt, wat vill Besucher bruecht huet. De Site ass mat 150 simultan Verbindungen erofgefall (ech schwÀtzen net iwwer RPS, well se et net gemooss hunn). Mir hunn ugefaang KnÀppercher ze pochen an KnÀppercher am php_fpm AstellungsberÀich ze dréinen:

Hey, hien huet scho 500 Verbindungen. WĂ©i Kreditkaarten op d'Moyene vun der Promotioun bĂ€igefĂŒĂŒgt goufen, goufen d'Wellen vum VerkĂ©ier mĂ©i grouss. Den nĂ€chste Meilesteen ass 1000 simultan Verbindungen. Hei hu mir missen de Code nei opmaachen an an d'SĂ©il vum Muskel kucken. De Spritzen huet net gehollef, mee mir haten et net wierklech erwaart. Mir hunn luesen Ufroe Log aktivĂ©iert, Indexen an d'Datebank bĂ€igefĂŒĂŒgt, onnĂ©ideg Ufroen aus dem Code gelĂ€scht, an nach eng KĂ©ier d'mysql Config gebotzt laut dem Rot vu mysqltuner.
Nei Erausfuerderung - 2000 Verbindungen. D'Versioun vum Plesk 17.8 ass just fĂ€erdeg bruecht ze ginn, an dĂ€r Ă«nner anerem nginx Caching dobĂ€igesat gouf. AktualisĂ©iert (iwwerraschend einfach). Loosst eis probĂ©ieren. Wierker! An dunn hunn se op dĂ©i mĂ«ll SĂ€it gestouss, de Yandex.Zen Feed huet opgehalen ze schaffen. De Site funktionnĂ©iert, de Feed funktionnĂ©iert net. De Feed funktionnĂ©iert net, et gĂ«tt kee Traffic. D'AtmosphĂ€r gĂ«tt erwiermt. Ănnert Drock vun ĂmstĂ€nn a vun engem Manktem u Fantasie sinn ech direkt op d'Strace an d'nginx gaang an hunn fonnt wat ech gesicht hunn. Et stellt sech eraus datt iergendwann domm nginx de stray 500th Feeler als Ăntwert op Yandex get feed.xml cachĂ©iert huet. FixĂ©iert et andeems Dir Ausnahmen op d'Cache-Astellunge bĂ€igefĂŒĂŒgt:

Et ass kloer datt de BesĂ«tzer MĂI brauch, d'Wellen ginn lues a lues erop. Mir kĂ«mmeren eis elo, awer mir hunn am Viraus ugefaang mam memcached ze experimentĂ©ieren, glĂ©cklecherweis Ă«nnerstĂ«tzt Laravel et bal aus der KĂ«scht. Ech wollt iergendwĂ©i net memcached manuell installĂ©ieren just fir ze "spillen", also hunn ech en Docker-Bild installĂ©iert. Direkt vum Panel.

Gutt, okay, ech léien, ech hu missen an d'Schuel goen an de Modul iwwer pecl installéieren. Richteg op . Et gëtt nach nÀischt iwwer d'Erhéijung vum Duerchsatz ze soen, et sinn net grouss genuch Influxe ginn. De Sitemotor ass op localhost ugeschloss: 11211, Statistike ginn gewisen, Erënnerung gëtt verbraucht. Wann et Iech gefÀllt, gesi mir wat mir als nÀchst maachen. Entweder wÀerte mir et esou loossen, oder mir setzen de "richtegen" direkt an d'Achs. Oder loosst eis Redis op déiselwecht Manéier probéieren
Da war et néideg eng Mailing Lëscht ze befestegt. Keng Relais, nëmmen smtp Authentifikatioun. Ech setzen eng Mailadress op a benotzen hir Detailer fir en Newsletter iwwer PHP ze schécken.

Net viru laanger ZÀit gouf Plesk Obsidian (18.0) verëffentlecht, mir hunn op Basis vun der vergaanger Erfahrung ouni Angscht aktualiséiert. Alles ass ganz glat gaang, et ass net emol iwwer eppes ze schwÀtzen. Déi agreabel Saach ass datt d'Qualitéit vun der Interface staark verbessert ass, et ass méi modern ginn an ass op e puer Plazen méi praktesch ginn. Cool Saach Advanced Monitoring op Grafana.

Ech hunn et nach net am Detail beschĂ€ftegt, awer Dir kĂ«nnt zum Beispill Alarmer fir all Parameter an Ărer E-Mail opsetzen. Fir de BesĂ«tzer, lol.
WÀrend ech iwwer d'Interface schwÀtzen, ass et reaktiounsfÀeger a funktionnéiert wierklech gutt um Telefon. An de fréie Stadien, wÀrend mir probéiert hunn déi optimal Astellunge fir PHP an aner Saachen ze fannen, huet dëst vill gehollef. A besonnesch wann e Programméierer, an engem Fit vun Aarbechtsbegeeschterung, eppes um 23:XNUMX mécht, an ech, an engem Fit vun Aarbechtsbegeeschterung, Wodka am Badhaus drénken, an ech muss DRINGEND eppes wiesselen.

Oh, iwwregens. D'Bild weist datt PHP Composer opgetaucht ass. Mir hunn et nach net gespillt, awer, sot, fir Laravel, et kann e puer Shell-Logins spueren an e puer ZÀit fir OfhÀngegkeeten z'installéieren. Dee selwechte System existéiert fir Node.JS a Ruby.
Mat SSL ass alles einfach. Wann d'Domain opléist wéi erwaart, gëtt Let's Encrypt an engem Klick gemaach an aktualiséiert sech dann, souwuel fir d'Domain selwer, wéi och fir Subdomains, a souguer Mailservicer.

Plesk selwer als Software ass de Moment zimlech agreabel a stabil. Et aktualiséiert sech selwer an d'Axis roueg, verbraucht wéineg Ressourcen a funktionnéiert glat. Ech erënnere mech net mol datt ech iergendwou op eppes getrëppelt sinn, wat en offensichtleche Defekt am Produkt gewiescht wier. Et waren natierlech Probleemer, awer si waren entweder wéinst enger imperfekter Konfiguratioun oder iergendwou um KrÀizung, also ass et nÀischt ze beschwéieren. D'Impressioune fir mat Plesk ze schaffen sinn allgemeng agreabel. Wat et net huet, a mir mussen dat verstoen, ass all (all) Clustering. Weder LB nach HA. Dir kënnt probéieren, awer d'Ustrengung wÀert sou vill sinn datt et besser ass eppes anescht ze maachen vun Ufank un.
Ech mengen, mir kĂ«nnen et zesummefaassen. Fir de Fall wann et keen Administrator ass, oder et ass net genuch vun him, wann de PrĂ€is vum Hosting an de Site (en) dĂ©i drop drĂ©inen, iwwerschratt, gutt, soen, 100 USD, wa mir net iwwer bestial Sharing vun 1500 schwĂ€tzen Siten op engem Server, wann den DĂ©cideur konfrontĂ©iert ass Wann Dir d'Wiel hutt, en DeelzĂ€itverwalter anzestellen, oder Software ze kafen an en Administrateur fir en halleft Buck ze hunn, oder guer net ze hunn - et mĂ©cht definitiv SĂ«nn. Aus der Siicht vum Remote Administrator - datselwecht. $ 10 pro Mount, a spuert ZĂ€it a gĂ«tt FlexibilitĂ©it an der Aarbecht fir eng ganz laang ZĂ€itĐŸeng mĂ©i grouss Zomm. Wann ech zum Beispill staark opgefuerdert ginn, en Ă€hnleche Projet Ă«nnert de Flillek ze huelen, wĂ€ert ech insistĂ©ieren en op de Plesk ze transferĂ©ieren.
Source: will.com
