Plesk-тэй хийсэн миний туршлага

Арилжааны нэг сервертэй вэб төслийн хяналтын самбар гэх мэт зүйл зайлшгүй шаардлагатай эсвэл шаардлагагүй байдлын талаархи сэтгэгдлээ маш цагийн админтай хуваалцахыг хүсч байна. Энэ түүх хэдэн жилийн өмнө найз нөхдийн найзууд надаас бизнес буюу мэдээллийн сайт худалдаж авахад техникийн үүднээс туслахыг хүсэх үед эхэлсэн юм. Юу дээр ажиллаж байгаа талаар бага зэрэг судалж, шаардлагатай бүх нарийн ширийн зүйлийг зохих хэлбэр, хэмжээгээр шилжүүлж, юуг сайжруулах боломжтойг стратегийн хувьд тодорхойлох шаардлагатай байв.

Plesk-тэй хийсэн миний туршлага
Хэлэлцээр дууссан тул хийлч хэрэггүй болсон. Төгсгөл. Үнэхээр биш.

Энэ сайт нь Linode дээрх хоёр цөмт 4 ГБ VM дээр, зарим хөвд Debian5 дээр 400 хоног ажиллах хугацаатай, шинэчлэгдээгүй багцуудын жагсаалттай ажиллаж байсан. Өөрөө бичсэн CMS, nginx, php5.3 FPM, mysql тааруулсан Percona дээрх вэб хэсэг. Зарчмын хувьд энэ нь ажилласан.

Надтай ярилцахтай зэрэгцэн шинэ эзэн төслийг хүлээлтэд хүргэх програмист хайж байв. Олдсон. Програмист нь замын хөдөлгөөн, эзлэхүүнийг үнэлж, хэрхэн оновчтой болгох, зардлын менежментийг мэддэг гэж шийджээ. Тэрээр сайтыг бүхэлд нь өөрийн ердийн IS****er удирддаг 700 рублийн хуваалцсан хостинг руу шилжүүлсэн. Хэдэн өдрийн дараа эзэн нь "Бүх зүйл удаашралтай байгаа бөгөөд бид эвдэрсэн бололтой" гэсэн өөр дуудлага ирэв. Би самбараар дамжуулан нөхцөл байдлыг засах гэж оролдсон боловч PHP хувилбар эсвэл зохицуулагчийг fcgi-аас fpm болгон өөрчлөх гэж хэсэг хугацаанд үр дүнгүй оролдлого хийсний дараа би бууж өгөөд бүрхүүл рүү орлоо. Тэнд би бүхэл бүтэн интернетэд булчингийн нууц үгээр гэрэлтэж байсан дибаг олсон, тэр үед хортой програм болон үүнтэй төстэй утгагүй зүйлсээр хагарч байсан зарим хавтаснууд дээр 777. Эзэмшигч нь хостинг, программист, үйл явдал хэрхэн өрнөж байгааг ажиглаж чаддаг админыг хэмнэх нь буруу гэдгийг ойлгож, шийдсэн.

Бид RuVDS руу явж байна. Британийн Linode-ээс арай илүү ойрхон бөгөөд хэрэв та гэнэт хувийн мэдээлэл болон энэ бүгдийг хадгалахыг хүсвэл өөр газар нүүх шаардлагагүй болно. Төслийг өргөжүүлэхээр төлөвлөж байсан тул бид өсөлтөд зориулж VM авсан: 4 цөм, 8 гигабайт санах ой, 80 ГБ диск. Энэ нь би nginx тохиргоог гараар хэрхэн тохируулахаа мэдэхгүй байгаа юм биш, надад энэ төсөл дээр тийм ч сайн ажиллах хүсэл байгаагүй (хагас цагийн талаар дээрээс үзнэ үү). Тийм ч учраас би Plesk-ийг суулгасан (энд би суулгах дэлгэрэнгүй мэдээллийг орхих болно, учир нь ерөнхийдөө байхгүй байна: би суулгагчийг эхлүүлсэн, админд зориулсан нууц үгээ тохируулсан, түлхүүрийг оруулсан - энэ бол бүх зүйл), тэр үед 17.0 байсан. Үндсэн тохиргоонууд нь зүгээр л ажиллах боломжтой, fail2ban болон PHP болон nginx-ийн хамгийн сүүлийн үеийн хувилбарууд байдаг. 

Үүнийг зогсоож, учрыг нь тайлбарлах нь зүйтэй болов уу. Би ийм зүйл хийх нь ховор бөгөөд надад тохиолдол бүрт зориулсан тусгай хэрэгсэл, бэлтгэлийн багц байдаггүй тул нэгдүгээрт, хурдан, хоёрдугаарт, аюулгүй, гуравдугаарт, үндсэн зүйлийг автоматжуулах шаардлагатай байсан нь тодорхой байсан. , хэн нэгэн үүнийг аль хэдийн хэрэгжүүлсэн бүх шилдэг туршлагууд.

Тиймээс би үүнийг суулгасан. Би маш их цаг хэмнэсэн тул сайтыг шинэ сервер дээр дахин эхлүүлэх нь бараг агшин зуур байсан. Үлдсэн зүйл бол булчингийн тохиргоог засварлаж, санах ойн хагасыг өгч, буферийн сангуудын тоог нэмэгдүүлэх, мөн nginx-д цөмийн хагасыг өгөх (Plesk дэлхийн тохиргоонд хүрдэггүй) хэд хоногийн турш бүрхүүл рүү орж харах явдал байв. mysqltuner статистик дээр. Тийм ээ, би үерт автсан хортой програмаас салахын тулд өргөтгөлийн каталогоос төлбөртэй ImunifyAV-г худалдаж авсан. Халдвартай 11000 орчим файл олдсон байна. Хамгийн жигшүүртэй зүйл бол тодорхой бус кодын хэсгүүдийг статик руу цутгаж, гараар цэвэрлэх нь бүрэн уйтгартай байх болно. Эхлээд би ClamAV-ийг туршиж үзсэн боловч ийм зүйл хүлээж аваагүй ч ImunifyAV боломжтой болсон. Үүнээс гадна халдваргүйжүүлсэн файлууд ажиллах нөхцөлд хэвээр үлдэж, хортой програмтай хэсэг нь устгагдах болно.

Арифметик нь энгийн: VMka-д сард 50 доллар, Plesk-д 10 доллар (үнэндээ та үүнийг нэг жилийн турш хоёр сарын хөнгөлөлттэй үнээр худалдаж авсан учраас) 3 доллар, антивирусын хувьд XNUMX доллар. Эсвэл би эдгээр жүчээг гараар тармуурлахад зориулж серверт зарцуулж байсан цаг хугацааны хувьд маш их мөнгө байсан. Эзэмшигч нь энэ зохицуулалтад маш их баяртай байв.

Plesk-тэй хийсэн миний туршлага
Энэ хооронд тэд шинэ программист олжээ. Бид түүнтэй хариуцлагын хуваарилалтын талаар тохиролцож, туршилтын хувилбарт дэд домайн үүсгэж, ажил эхэлсэн. Тэр Laravel дээр сайтын шинэ хувилбарыг хайчилж байсан бөгөөд би fail2ban% -ийг харж байсан.

Plesk-тэй хийсэн миний туршлага
Сонирхолтой нь, сониуч хүмүүсийн урсгал тасрахгүй бөгөөд хориотой хаягуудын жагсаалтад дандаа зуу орчим хаяг байдаг. Үр нөлөө нь сонирхолтой: ялангуяа, хэрэв би бүрхүүлд нэвтрэх юм бол мэндчилгээний үеэр SSH-ээр нэвтрэх оролдлого 20000-30000 удаа бүтэлгүйтдэг. Fail2ban идэвхжсэнээр 70 орчим. Хөрөнгө оруулалт хийсэн хүчин чармайлт: 0. Харамсалтай нь дусал тосгүй байсан. Анхдагч байдлаар, WAF (modsecurity) хагас идэвхжсэн: нээлтийн горимд. Өөрөөр хэлбэл, тэр бүртгэлд сэжигтэй үйлдэл бичсэн боловч үнэндээ ямар ч арга хэмжээ аваагүй. Мөн fail2ban нь идэвхжүүлсэн шоронгийн дагуу бүх бүртгэлийг ялгалгүй уншиж, хөдөлсөн бүх зүйлийг устгасан. Ингээд редакцийн талыг нь хорьчихлоо :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 and nginx руу очиж хайж байсан зүйлээ олсон. Хэзээ нэгэн цагт тэнэг nginx нь Yandex авах feed.xml-ийн хариуд 500 дахь алдааг кэш болгожээ. Кэшийн тохиргоонд үл хамаарах зүйл нэмж зассан:

Plesk-тэй хийсэн миний туршлага
Эзэмшигч нь ИЛҮҮ хэрэгтэй байгаа нь тодорхой байна, долгион аажмаар нэмэгдэж байна. Бид одоохондоо үүнийг даван туулж байна, гэхдээ бид memcached-ийг урьдчилан туршиж эхэлсэн, аз болоход Ларавел үүнийг бараг хайрцагнаас нь дэмждэг. Би зүгээр л "тоглох" зорилгоор memcached-г гараар суулгахыг хүсээгүй тул докерын дүрс суулгасан. Самбараас шууд.

Plesk-тэй хийсэн миний туршлага
За, би худлаа хэлж байна, би бүрхүүлд орж модулийг pecl-ээр суулгах хэрэгтэй болсон. Яг дээр зааварчилгаа. Дамжуулах хүчин чадал нэмэгдсэн талаар одоохондоо хэлэх зүйл алга, хангалттай их хүн амын шилжилт хөдөлгөөн байхгүй байна. Сайтын хөдөлгүүр нь localhost:11211-д холбогдсон, статистикийг харуулсан, санах ой зарцуулагдаж байна. Хэрэв танд таалагдаж байвал бид дараа нь юу хийхийг харах болно. Нэг бол бид үүнийг орхих болно, эсвэл бид "жинхэнэ" нэгийг тэнхлэгт зөв байрлуулах болно. Эсвэл ижил аргаар redis-ийг туршиж үзье

Дараа нь захидлын жагсаалтыг хавсаргах шаардлагатай болсон. Реле байхгүй, зөвхөн smtp баталгаажуулалт. Би шуудангийн хаягийг тохируулж, түүний дэлгэрэнгүй мэдээллийг ашиглан PHP-ээр мэдээллийн товхимол илгээдэг.

Plesk-тэй хийсэн миний туршлага
Удалгүй Plesk Obsidian (18.0) худалдаанд гарсан бөгөөд бид айдасгүйгээр өнгөрсөн туршлага дээрээ үндэслэн шинэчилсэн. Бүх зүйл маш жигд болсон, ярих зүйл ч алга. Тааламжтай зүйл бол интерфейсийн чанар ихээхэн сайжирч, орчин үеийн болж, зарим газарт илүү тохиромжтой болсон явдал юм. Графана дээрх ахисан түвшний хяналт.

Plesk-тэй хийсэн миний туршлага
Би үүнийг нарийвчлан авч үзээгүй байгаа ч, жишээ нь, та өөрийн имэйлийн аль ч параметрийн анхааруулгыг тохируулах боломжтой. Эзэмшигчдээ, хэхэ.

Би интерфэйсийн талаар ярьж байгаа ч энэ нь мэдрэмжтэй бөгөөд утсан дээр үнэхээр сайн ажилладаг. Эхний үе шатанд бид PHP болон бусад зүйлсийн оновчтой тохиргоог олохыг хичээж байхад энэ нь маш их тусалсан. Ялангуяа програмист ажилдаа дуртай үедээ 23:XNUMX цагт ямар нэгэн зүйл хийх үед би ажилдаа дуртайдаа халуун усны газар архи ууж, би ЯАРАЛТАЙ юм солих хэрэгтэй байна.

Plesk-тэй хийсэн миний туршлага
Өө, дашрамд хэлэхэд. Зураг дээр PHP Composer гарч ирснийг харуулж байна. Бид үүнтэй хараахан тоглож амжаагүй байгаа ч Laravel-ийн хувьд энэ нь хэд хэдэн бүрхүүлийн нэвтрэлт болон хамаарлыг суулгахад цаг хугацаа хэмнэх болно. Үүнтэй ижил систем Node.JS болон Ruby-д байдаг.

SSL-ийн тусламжтайгаар бүх зүйл энгийн байдаг. Хэрэв домэйн хүлээгдэж буй байдлаар шийдэгдвэл Let's Encrypt-ийг нэг товшилтоор хийж, дараа нь домайн өөрөө болон дэд домайнууд, тэр ч байтугай шуудангийн үйлчилгээнүүдийн хувьд өөрөө шинэчлэгддэг.

Plesk-тэй хийсэн миний туршлага
Plesk өөрөө програм хангамжийн хувьд одоогоор нэлээд тааламжтай, тогтвортой байна. Энэ нь өөрөө болон тэнхлэгийг чимээгүйхэн шинэчилж, цөөн нөөц зарцуулж, жигд ажилладаг. Би хаа нэгтээ ямар нэг зүйл дээр гишгэж байснаа санахгүй байна, энэ нь бүтээгдэхүүний илт согог байж магадгүй юм. Мэдээжийн хэрэг асуудал байсан, гэхдээ тэдгээр нь төгс бус тохиргооноос эсвэл уулзварын хаа нэгтээгээс болсон тул гомдоллох зүйл алга. Plesk-тэй ажиллах сэтгэгдэл ерөнхийдөө тааламжтай байдаг. Түүнд байхгүй бөгөөд бид үүнийг ойлгох ёстой зүйл бол аливаа (ямар ч) кластер юм. LB, HA аль нь ч биш. Та оролдож болно, гэхдээ хүчин чармайлт маш их байх тул эхнээс нь өөрөөр хийх нь дээр.

Үүнийг бид нэгтгэж чадна гэж бодож байна. Администратор байхгүй эсвэл хангалттай байхгүй тохиолдолд хостинг болон үүн дээр эргэлдэж буй сайт(ууд) нь 100 доллараас давсан тохиолдолд бид 1500-ийн араатан хуваалцах тухай яриагүй бол Шийдвэр гаргагчтай тулгарсан сервер дээрх сайтууд Хэрэв танд цагийн админ ажилд авах, эсвэл программ хангамж худалдаж авах, хагас доллараар админтай байх, эсвэл огт байхгүй байх сонголт байгаа бол энэ нь ойлгомжтой байх болно. Алсын администраторын үүднээс авч үзвэл ижил зүйл. Сард 10 доллар, цаг хэмнэж, ажлын уян хатан байдлыг маш урт хугацаанд өгдөгоилүү их хэмжээ. Жишээлбэл, надтай ижил төстэй төслийг өөрийн жигүүрийн дор авахыг хатуу шаардах юм бол би үүнийг Плеск руу шилжүүлэхийг шаардах болно.

Plesk-тэй хийсэн миний туршлага

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх