Plesk-пен тәжірибем

Коммерциялық бір серверлік веб-жобаға арналған басқару панелі сияқты нәрсенің қажеттілігі немесе қажетсіздігі туралы кейбір әсерлеріммен өте толық емес әкімшімен бөліскім келеді. Оқиға бір-екі жыл бұрын, достарымның достары техникалық тұрғыдан бизнес – жаңалықтар сайтын сатып алуға көмектесуімді өтінген кезде басталды. Немен айналысып жатқанын аздап зерттеп, барлық қажетті бөлшектердің тиісті түрде және көлемде берілгеніне көз жеткізіп, нені жақсартуға болатынын стратегиялық түрде анықтау керек болды.

Plesk-пен тәжірибем
Мәміле аяқталды, скрипкашы енді қажет емес. Соңы. Онша емес.

Сайт Linode жүйесіндегі екі ядролы 4 ГБ VM-де, 5 күн жұмыс істеу уақыты бар кейбір мүкті Debian400-те және жаңартылмаған пакеттер тізімімен жұмыс істеді. Өздігінен жазылған CMS, nginx, php5.3 FPM, mysql бапталған Percona жүйесіндегі веб-бөлік. Негізінде ол жұмыс істеді.

Менімен әңгімелесумен қатар, жаңа иесі жобаны күткенге дейін жеткізу үшін бағдарламашыны іздеді. Табылды. Бағдарламашы трафик пен көлемді бағалап, оңтайландыру мен шығындарды басқаруды біледі деп шешті. Ол бүкіл сайтты әдеттегі IS****er басқаратын 700 рубльдік ортақ хостингке көшірді. Бірнеше күннен кейін иесінен тағы бір қоңырау соғылды: «бәрі баяу және біз бұзылған сияқтымыз». Мен жағдайды панель арқылы түзетуге тырыстым, бірақ PHP нұсқасын немесе өңдеушісін fcgi-ден fpm-ге өзгертуге біраз уақыт нәтижесіз әрекеттерден кейін мен бас тарттым және қабықшаға кірдім. Онда мен бүкіл Интернетте бұлшық еттен алынған құпия сөзбен жарқырап тұрған қосылған жөндеуді таптым, кейбір қалталарда сол кезде зиянды бағдарламалармен және ұқсас нонсенстермен бұзылған 777. Үй иесі хостингке, бағдарламашыға және істің қалай жүріп жатқанын бақылай алатын әкімшіге үнемдеу дұрыс емес екенін түсінді және шешті.

Біз RuVDS-ке барамыз. Британдық Линодан сәл жақынырақ, егер сіз кенеттен жеке деректерді және осының бәрін сақтағыңыз келсе, басқа жерге көшудің қажеті жоқ. Жобаны кеңейту жоспарланғандықтан, біз өсу үшін VM алдық: 4 ядро, 8 гигабайт жады, 80 ГБ диск. Бұл мен nginx конфигурацияларын қолмен конфигурациялауды білмегендіктен емес, менде бұл жобада соншалықты жақын жұмыс істеуге ынта болмады (жоғарыдан толық емес уақыт туралы қараңыз). Сондықтан мен Plesk-ті орнаттым (мұнда мен орнату мәліметтерін өткізіп жіберемін, өйткені олар мүлдем жоқ: мен орнатушыны іске қостым, әкімшіге құпия сөз орнаттым, кілтті енгіздім - барлығы), ол кезде ол 17.0 болды. Негізгі параметрлер қораптан тыс жұмыс істейді, fail2ban және PHP мен nginx-тің соңғы қолжетімді нұсқалары бар. 

Бұл тоқтап, себебін түсіндіруге тұрарлық. Мен мұндай нәрселерді сирек жасаймын және менде әр жағдайға арналған арнайы құралдар немесе дайындық жиынтығы жоқ болғандықтан, біріншіден, жылдам, екіншіден, қауіпсіз және үшіншіден, негізгі нәрселерді автоматтандырудың қандай да бір түрі қажет екені анық болды. , барлық ең жақсы тәжірибелерді біреу әлдеқашан енгізген.

Сонымен, мен оны орнаттым. Мен көп уақытты үнемдедім, сайтты жаңа серверде қайта іске қосу бірден дерлік болды. Бұлшықет конфигурациясын өңдеу, оған жадтың жартысын беріп, буферлік пулдардың санын көбейту және nginx-ке ядролардың жартысын беру (Plesk жаһандық конфигурацияларға қол тигізбейді) және бірнеше күн бойы қарау үшін қабықшаға өту ғана қалды. mysqltuner статистикасында. Иә, мен су басқан зиянды бағдарламадан құтылу үшін кеңейтімдер каталогынан ақылы ImunifyAV сатып алдым. 11000 XNUMX вирус жұққан файл табылды. Ең жиіркеніштісі, бұлыңғыр код бөліктері статикаға құйылған және оны қолмен тазалау мүлдем түтіккен болар еді. Алдымен мен ClamAV-ды қолданып көрдім, бірақ ол мұндай нәрселерді қабылдамайды, бірақ ImunifyAV мүмкін болды. Сонымен қатар, зарарсыздандырылған файлдар жұмыс күйінде қалады, зиянды бағдарлама бар бөлік жай ғана жойылады.

Арифметика қарапайым: VMka үшін айына $ 50, Plesk үшін $ 10 (шын мәнінде аз, өйткені сіз оны бірден бір жылға екі айлық жеңілдікпен сатып алдыңыз) және антивирус үшін $ 3. Немесе бұл қораларды қолмен тырмау үшін серверге жұмсаған уақытым үшін көп ақша. Үй иесі бұл келісімге өте риза болды.

Plesk-пен тәжірибем
Осы арада олар жаңа бағдарламашы тапты. Біз онымен жауапкершілікті бөлу туралы келісімге келдік, сынақ нұсқасы үшін субдомен құрдық және жұмыс басталды. Ол Laravel-те сайттың жаңа нұсқасын кесіп тастады, мен fail2ban%) қарап отырдым.

Plesk-пен тәжірибем
Бір қызығы, қызыққандардың легі толастамайды және тыйым салынғандар тізімінде үнемі жүзге жуық мекенжай бар. Әсері қызықты: атап айтқанда, әдетте, егер мен қабықшаға кірсем, сәлемдесу кезінде SSH арқылы кіруге шамамен 20000 30000-2 70 сәтсіз әрекетті көремін. fail0ban қосулы болса, шамамен 2. Салынған күш: XNUMX. Өкінішке орай, ол бір тамшы жақпасыз болмады. Әдепкі бойынша, WAF (modsecurity) жартылай қосылды: табу режимінде. Яғни, ол журналға күдікті әрекетті жазды, бірақ іс жүзінде ешқандай шара қолданбады. Және failXNUMXban қосылған түрмелерге сәйкес барлық журналдарды таңдамай оқып, қозғалғандардың барлығын өлтірді. Осылайша, біз редакторлардың жартысына тыйым салдық :D. Маған бұл түрмені өшіріп, сенімділік үшін қажетті IP мекенжайларын ақ тізімге енгізуге тура келді. Күш-жігер жұмсалады: тінтуірді екі рет басып, редакторларға IP мекенжайыңызды айтуды үйретіңіз.

Plesk-пен тәжірибем
Бағдарламашыға бірден ұнағаны дерекқорды тікелей панельге жүктеп салу және phpMyAdmin-ге жылдам қол жеткізу мүмкіндігі болды.

Plesk-пен тәжірибем
Маған ұнағаны журналдар мен сақтық көшірмелер болды. Журналдар қораптан тыс жазылады және бұрылады; Сақтық көшірмелерді орнату өте оңай. Ең баяу уақытта шамамен 10 гиг толық сақтық көшірме жасалады, содан кейін бір апта бойы күн сайын әрбір 200 мегабайт қосымша. Қалпына келтіру нақты файлға немесе дерекқорға дейін түйіршікті болып табылады. Егер сізге қосымшадан қалпына келтіру қажет болса, алдымен бүкіл тізбекті толық және қалпына келтірумен алаңдаудың қажеті жоқ, Plesk бәрін өзі жасайды. Сақтық көшірмелерді кез келген жерде жүктеп салуға болады: FTP, dropbox, s3 шелек, Google Drive және т.б.

Plesk-пен тәжірибем
F күні: бағдарламашы жаңа қозғалтқышты аяқтады, біз оны өндіріске жүктедік, ескі деректерді импорттадық және болашақ Maserati түсін таңдау үшін отырдық. Біз әлі отырамыз және таңдаймыз.

Алғашқы проблемалар басталды. Жаңа сайт ескі сайтқа қарағанда ауыр болды деп күтілуде, бірақ нақты рейк олар трафикті тарту үшін, сонымен қатар көптеген келушілерді әкелетін Yandex.Zen-ді пайдаланды. Сайт бір мезгілде 150 қосылыммен бұзылды (мен RPS туралы айтып отырған жоқпын, өйткені олар оны өлшеген жоқ). Біз php_fpm параметрлері аймағындағы түймелерді және түймелерді айналдыруды бастадық:
 
Plesk-пен тәжірибем
Эй, оның қазірдің өзінде 500 байланысы бар. Науқанға несие карталары қосылған сайын трафик толқындары кеңейе түсті. Келесі кезең - бір мезгілде 1000 қосылу. Мұнда біз кодты қайта өңдеуге және бұлшықеттің жан-дүниесіне қарауға тура келді. Шашырату көмектеспеді, бірақ біз мұны күткен жоқпыз. Біз баяу сұраулар журналын қостық, дерекқорға индекстер қостық, кодтан қажет емес сұрауларды алып тастадық және mysqltuner кеңесіне сәйкес MySQL конфигурациясын тағы бір рет тазаладық.

Жаңа сынақ – 2000 қосылым. Plesk 17.8 нұсқасы жаңа ғана шығарылды, оған басқалармен қатар nginx кэштеу қосылды. Жаңартылған (таңқаларлық оңай). Тырысып көрейік. Жұмыс істейді! Содан кейін олар жұмсақ жағына шықты, Yandex.Zen арнасы жұмысын тоқтатты. Сайт жұмыс істейді, арна жұмыс істемейді. Арна жұмыс істемейді, қозғалыс жоқ. Атмосфера қызып барады. Жағдайлардың қысымымен және қиялдың жетіспеушілігінен мен бірден strace және nginx-ке кіріп, іздегенімді таптым. Бір кезде ақымақ nginx Яндекс get feed.xml-ге жауап ретінде адасқан 500-ші қатені кэштеп алғаны белгілі болды. Кэш параметрлеріне ерекшеліктерді қосу арқылы түзетілді:

Plesk-пен тәжірибем
Иесі КӨБІРЕК керек екені анық, толқындар баяу өседі. Біз қазірдің өзінде күресіп жатырмыз, бірақ біз алдын ала memcached-пен тәжірибе жасай бастадық, бақытымызға орай, Laravel оны қораптан тыс дерлік қолдайды. Мен жай ғана «ойнау» үшін memcached-ді қолмен орнатқым келмеді, сондықтан мен докер кескінін орнаттым. Тікелей панельден.

Plesk-пен тәжірибем
Жарайды, өтірік айтамын, мен қабықшаға кіріп, модульді pecl арқылы орнатуым керек болды. Дәл нұсқаулар. Өткізу қабілетінің ұлғаюы туралы әлі ештеңе айта алмаймын, жеткілікті үлкен ағындар болған жоқ. Сайт механизмі localhost:11211-ге қосылды, статистика көрсетіледі, жад тұтынылуда. Егер сізге ұнаса, енді не істеу керектігін көреміз. Немесе біз оны осылай қалдырамыз немесе «нақты» оське оң жаққа қоямыз. Немесе редисті дәл осылай жасап көрейік

Содан кейін пошталық тізімді тіркеу керек болды. Реле жоқ, тек smtp аутентификациясы. Мен электрондық пошта мекенжайын орнатып, оның мәліметтерін PHP арқылы ақпараттық бюллетень жіберу үшін пайдаланамын.

Plesk-пен тәжірибем
Жақында Plesk Obsidian (18.0) шығарылды, біз қорқынышсыз өткен тәжірибе негізінде жаңартылдық. Барлығы өте жақсы өтті, тіпті сөйлесетін ештеңе жоқ. Бір қызығы, интерфейстің сапасы айтарлықтай жақсарды, ол заманауи болды және кейбір жерлерде ыңғайлы болды. Керемет нәрсе Grafana-да кеңейтілген мониторинг.

Plesk-пен тәжірибем
Мен оны әлі егжей-тегжейлі қарастырған жоқпын, бірақ сіз, мысалы, электрондық поштаңыздағы кез келген параметр үшін ескертулерді орнатуға болады. Иесіне, lol.

Мен интерфейс туралы айтып жатқанымда, ол жауап береді және телефонда өте жақсы жұмыс істейді. Алғашқы кезеңдерде біз PHP және басқа нәрселер үшін оңтайлы параметрлерді табуға тырысқанда, бұл көп көмектесті. Әсіресе, бағдарламашы 23:XNUMX-де жұмысқа ынтасымен бірдеңе жасап жатса, ал мен жұмыс ынтасымен моншада арақ ішіп жатсам, мен СРОЧНО бірдеңені ауыстыруым керек.

Plesk-пен тәжірибем
Айтпақшы. Суретте PHP Composer пайда болғаны көрсетілген. Біз онымен әлі ойнаған жоқпыз, бірақ айталық, Laravel үшін ол бірнеше қабықша логинді және тәуелділіктерді орнатуға біраз уақытты үнемдей алады. Node.JS және Ruby үшін бірдей жүйе бар.

SSL көмегімен бәрі қарапайым. Егер домен күткендей шешілсе, Let's Encrypt бір рет басу арқылы орындалады, содан кейін доменнің өзі үшін де, қосалқы домендер үшін де, тіпті пошта қызметтері үшін де өзін жаңартады.

Plesk-пен тәжірибем
Plesk өзі бағдарламалық құрал ретінде қазіргі уақытта өте жағымды және тұрақты. Ол өзін және осьті тыныш жаңартады, аз ресурстарды тұтынады және бірқалыпты жұмыс істейді. Мен бір жерде бірдеңені басқаным есімде жоқ, бұл өнімнің айқын ақауы болар еді. Әрине, проблемалар болды, бірақ олар жетілмеген конфигурацияға байланысты немесе түйіспедегі бір жерде болды, сондықтан шағымданатын ештеңе жоқ. Plesk-пен жұмыс істеуден алған әсерлері әдетте жағымды. Онда жоқ нәрсе және біз мұны түсінуіміз керек, бұл кез келген (кез келген) кластер. LB де, HA да емес. Сіз тырысуға болады, бірақ күш жұмсалатыны сонша, бір нәрсені басынан бастап басқаша жасаған дұрыс.

Менің ойымша, біз оны қорытындылай аламыз. Әкімші жоқ немесе ол жеткіліксіз болған жағдайда, хостинг пен ондағы сайт(тар)дың бағасы, айталық, 100 АҚШ долларынан асатын болса, біз 1500 хайуандық бөлісу туралы айтпаймыз. сервердегі сайттар, шешім қабылдаушы алдында тұрған кезде, егер сізде толық емес әкімші жалдау немесе бағдарламалық жасақтаманы сатып алу және жарты долларға әкімші болу немесе мүлде болмауы таңдауыңыз болса - бұл сөзсіз мағынасы бар. Қашықтағы әкімші тұрғысынан - бірдей нәрсе. Айына $10 және уақытты үнемдейді және өте ұзақ уақыт жұмыста икемділік бередіоүлкенірек сома. Егер, мысалы, менің қанатымның астына ұқсас жобаны алуды қатты сұраса, мен оны Plesk-ке беруді талап етемін.

Plesk-пен тәжірибем

Ақпарат көзі: www.habr.com

пікір қалдыру