{"id":36207,"date":"2019-10-31T22:10:17","date_gmt":"2019-10-31T19:10:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\/"},"modified":"2019-10-31T22:10:17","modified_gmt":"2019-10-31T19:10:17","slug":"ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","title":{"rendered":"ISPsystem, sorry and goodbye! Why and how we created our server control panel.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ISPsystem, sorry and goodbye! Why and how we created our server control panel.\" src=\"\/wp-content\/uploads\/2019\/07\/512df00a9ec2d8ff8e3586dd57702924.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebrsh\u00ebndetje! Ne jemi \u00abTeknologjit\u00eb e Hosting\u00bb dhe 5 vjet m\u00eb par\u00eb lansuam <noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/?partner=habr1\">VDSina<\/a><\/noindex> \u2014 hostingun e par\u00eb vds, i krijuar posa\u00e7\u00ebrisht p\u00ebr zhvilluesit. Ne synojm\u00eb ta b\u00ebjm\u00eb at\u00eb t\u00eb leht\u00eb p\u00ebr t'u p\u00ebrdorur, si DigitalOcean, por me mb\u00ebshtetje n\u00eb rusisht, m\u00ebnyra pagese dhe servera n\u00eb Rusi. Por DigitalOcean nuk \u00ebsht\u00eb vet\u00ebm besueshm\u00ebri dhe \u00e7mim, \u00ebsht\u00eb gjithashtu dhe sh\u00ebrbim.<\/p>\n<p>Software nga ISPsystem doli t\u00eb ishte nj\u00eb litar q\u00eb na lidhte duar n\u00eb rrug\u00ebn ton\u00eb p\u00ebr nj\u00eb sh\u00ebrbim t\u00eb shk\u00eblqyer. Tre vjet m\u00eb par\u00eb ne p\u00ebrdor\u00ebm faturimin Billmanager dhe panelin e menaxhimit t\u00eb server\u00ebve VMmanager dhe shpejt e kuptuam se t\u00eb ofronim nj\u00eb sh\u00ebrbim t\u00eb mir\u00eb pa panelin ton\u00eb ishte praktikisht e pamundur. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Si ISPsystem vrau leht\u00ebsin\u00eb<\/h2>\n<p>\n<b>Gabimet<\/b><\/p>\n<p>Ne nuk mund t\u00eb riparonim gabimin vet\u00eb \u2014 n\u00eb \u00e7do rast duhet t\u00eb shkruanim n\u00eb mb\u00ebshtetje t\u00eb huaj dhe t\u00eb prisnim. Zgjidhja e \u00e7do problemi k\u00ebrkonte reagimin e nj\u00eb kompanie t\u00eb tret\u00eb. <\/p>\n<p>Mb\u00ebshtetje nga ISPsystem p\u00ebrgjigjej normalisht, por riparimet vinin vet\u00ebm pas disa l\u00ebshimeve, dhe asnj\u00ebher\u00eb jo gjithmon\u00eb dhe jo t\u00eb gjitha. Nd\u00ebrsa disa gabime kritike u rregulluan pas disa jav\u00ebsh. N\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb duhet t\u00eb qet\u00ebsonim klient\u00ebt, t\u00eb k\u00ebrkonim falje dhe t\u00eb prisnim q\u00eb ISPsystem t\u00eb rregullonte gabimin.<\/p>\n<p><b>K\u00ebrc\u00ebnimi i nd\u00ebrprerjeve<\/b><\/p>\n<p>P\u00ebrdit\u00ebsimet mund t\u00eb shkaktonin nd\u00ebrprerje t\u00eb paparashikuara, q\u00eb provokonin gabime t\u00eb reja. <\/p>\n<p>\u00c7do p\u00ebrdit\u00ebsim ishte nj\u00eb lotari: ishim t\u00eb detyruar t\u00eb mbyllnim faturimin dhe t\u00eb b\u00ebnim sakrifica p\u00ebr zotat e p\u00ebrdit\u00ebsimeve \u2014 disa her\u00eb p\u00ebrdit\u00ebsimi shkaktonte nj\u00eb nd\u00ebrprerje p\u00ebr 10-15 minuta. Administratoret tan\u00eb gjat\u00eb k\u00ebsaj kohe ishin t\u00eb shqet\u00ebsuar \u2014 ne kurr\u00eb nuk e dinim se sa do t\u00eb zgjas\u00eb nd\u00ebrprerja dhe nuk mund t\u00eb parashikonim, kur ISPsystem do t\u00eb vendoste t\u00eb l\u00ebshonte nj\u00eb p\u00ebrdit\u00ebsim t\u00eb ri. <\/p>\n<p>Me gjenerat\u00ebn e pest\u00eb t\u00eb Billmanager, gj\u00ebrat u p\u00ebrmir\u00ebsuan, por p\u00ebr t\u00eb marr\u00eb qasje n\u00eb funksionet e nevojshme duhej t\u00eb instalonim beta versionin, i cili tashm\u00eb p\u00ebrdit\u00ebsohej \u00e7do jav\u00eb. N\u00ebse di\u00e7ka prishte, na duhej t\u00eb jepnim qasje zhvilluesve t\u00eb huaj, q\u00eb t\u00eb rregullonin di\u00e7ka. <\/p>\n<p><b>Nd\u00ebrfaqja e paqart\u00eb e panelit<\/b><\/p>\n<p>T\u00eb gjitha ishin t\u00eb ndara n\u00eb panele t\u00eb ndryshme dhe menaxhoheshin nga vende t\u00eb ndryshme. P\u00ebr shembull, klient\u00ebt paguanin p\u00ebrmes Billmanager, nd\u00ebrsa rifreskimi ose rib\u00ebrja e VDS duhej ta b\u00ebnte n\u00eb VMManager. Punonj\u00ebsit tan\u00eb gjithashtu duhej t\u00eb kalonin midis dritareve p\u00ebr t\u00eb ndihmuar klientin, p\u00ebr t\u00eb verifikuar ngarkes\u00ebn n\u00eb serverin e tij ose p\u00ebr t\u00eb par\u00eb se cila OS po p\u00ebrdorte.<\/p>\n<p>Nj\u00eb nd\u00ebrfaqe e till\u00eb i merr koh\u00eb \u2014 si ton\u00ebn ashtu edhe t\u00eb klient\u00ebve. N\u00eb nj\u00eb situat\u00eb t\u00eb till\u00eb nuk \u00ebsht\u00eb \u00e7\u00ebshtje komoditeti, si n\u00eb DigitalOcean. <\/p>\n<p><b>Ciklet e shkurtra t\u00eb jet\u00ebs me p\u00ebrdit\u00ebsim t\u00eb shpesht\u00eb t\u00eb API<\/b><\/p>\n<p>Ne kemi shkruar plugins tan\u00eb \u2014 p\u00ebr shembull, nj\u00eb plugin me m\u00ebnyra shtes\u00eb pagese q\u00eb nuk ekzistojn\u00eb n\u00eb VMManager.<\/p>\n<p>N\u00eb vitet e fundit, VMManager ka pasur nj\u00eb cik\u00ebl jet\u00ebshkurt\u00ebr, ku emrat e variablave ose funksioneve n\u00eb API mund t\u00eb ndryshonin n\u00eb versione t\u00eb reja \u2014 kjo thyej plugins tona. Mb\u00ebshtetje p\u00ebr versionet e vjetra \u00ebsht\u00eb mbyllur shpejt dhe duhej t\u00eb p\u00ebrdit\u00ebsoheshim.<\/p>\n<p><b>Nuk mund t\u00eb p\u00ebrmir\u00ebsojm\u00eb<\/b><\/p>\n<p>Sakt\u00ebsisht, mundemi, por shum\u00eb joefikas. Kufizimet e licenc\u00ebs nuk lejojn\u00eb t\u00eb b\u00ebjm\u00eb ndryshime n\u00eb kodin burimor, mund t\u00eb shkruajm\u00eb vet\u00ebm plugins. Maksimumi i plugins \u00ebsht\u00eb disa elemente menaxheriale, nj\u00eb udh\u00ebzues hap pas hapi. ISPsystem jan\u00eb orientuar n\u00eb universialitet, nd\u00ebrsa ne na nevojiteshin zgjidhje t\u00eb specializuara.<\/p>\n<p>K\u00ebshtu q\u00eb u b\u00eb vendimi t\u00eb shkruajm\u00eb panelin ton\u00eb. Vendos\u00ebm q\u00ebllimet:<\/p>\n<ul>\n<li>T\u00eb reagojm\u00eb shpejt ndaj gabimeve, defekteve dhe t\u00eb kemi mund\u00ebsin\u00eb p\u00ebr t'i rregulluar vet\u00eb, pa e b\u00ebr\u00eb klientin t\u00eb pres\u00eb.<\/li>\n<li>T\u00eb modifikojm\u00eb lirsh\u00ebm nd\u00ebrfaqen sipas proceseve t\u00eb pun\u00ebs dhe nevojave t\u00eb klientit.<\/li>\n<li>T\u00eb rrisim p\u00ebrdorshm\u00ebrin\u00eb me nj\u00eb dizajn t\u00eb past\u00ebr dhe t\u00eb qart\u00eb.<\/li>\n<\/ul>\n<p>\nDhe filluam zhvillimin.<\/p>\n<h2>Arkitektura e panelit t\u00eb ri<\/h2>\n<p>\nKemi nj\u00eb ekip zhvillimi t\u00eb vet\u00eb-mjaftuesh\u00ebm, k\u00ebshtu q\u00eb panelin e shkruam vet\u00eb. <br \/>\nPjesa m\u00eb e madhe e pun\u00ebs \u00ebsht\u00eb kryer nga tre inxhinier\u00eb \u2014 Drejtori Teknik Sergey krijoi arkitektur\u00ebn dhe shkroi agjentin server, Alexei b\u00ebri faturimin, nd\u00ebrsa frontend-in e krijoi frontend-i yn\u00eb Artysh. <\/p>\n<h3>Hapi 1. Agjenti server<\/h3>\n<p>Agjenti server \u00ebsht\u00eb nj\u00eb server web n\u00eb Python, q\u00eb menaxhon bibliotek\u00ebn <noindex><a rel=\"nofollow\" href=\"https:\/\/libvirt.org\/\">libvirt<\/a><\/noindex>, e cila, nga ana e saj, menaxhon <noindex><a rel=\"nofollow\" href=\"https:\/\/www.qemu.org\/\">hipervizorin Qemu-kvm<\/a><\/noindex>. <\/p>\n<p>Agjenti menaxhon t\u00eb gjitha sh\u00ebrbimet n\u00eb server: krijimin, ndalimin, fshirjen e vds, instalimin e sistemeve operative, ndryshimin e parametrave dhe k\u00ebshtu me radh\u00eb p\u00ebrmes bibliotek\u00ebs libvirt. N\u00eb momentin e publikimit t\u00eb artikullit, ka m\u00eb shum\u00eb se dyzet funksione t\u00eb ndryshme q\u00eb ne i plot\u00ebsojm\u00eb n\u00eb var\u00ebsi t\u00eb detyr\u00ebs dhe nevojave t\u00eb klientit.<\/p>\n<p>Teorikisht, libvirt mund t\u00eb menaxhohej direkt nga faturimi, por kjo k\u00ebrkonte shum\u00eb m\u00eb shum\u00eb kod shtes\u00eb dhe vendos\u00ebm t'i ndajm\u00eb k\u00ebto funksione midis agjentit dhe faturimit \u2014 faturimi thjesht b\u00ebn k\u00ebrkesa te agjenti p\u00ebrmes API JSON.<\/p>\n<p>Agjenti ishte gj\u00ebja e par\u00eb q\u00eb b\u00ebjm\u00eb, pasi nuk k\u00ebrkonte asnj\u00eb nd\u00ebrfaqe dhe mund t\u00eb testoheshim drejtp\u00ebrdrejt nga konsola e serverit. <\/p>\n<p><b>\u00c7far\u00eb na dha agjenti server:<\/b> u shfaq nj\u00eb nd\u00ebrfaqe q\u00eb e thjeshton jet\u00ebn e t\u00eb gjith\u00ebve \u2014 billingut nuk i nevojitet t\u00eb d\u00ebrgoj\u00eb nj\u00eb mori komandash, por thjesht t\u00eb b\u00ebj\u00eb nj\u00eb k\u00ebrkes\u00eb. Agjenti do t\u00eb b\u00ebj\u00eb gjith\u00e7ka q\u00eb nevojitet: p\u00ebr shembull, do t\u00eb ndaj\u00eb hap\u00ebsir\u00ebn n\u00eb disk dhe kujtes\u00ebn operative. <\/p>\n<h3>Hapi 2. Billingu<\/h3>\n<p>\nP\u00ebr zhvilluesin ton\u00eb Alex, kjo nuk ishte paneli i par\u00eb i menaxhimit \u2014 Alex ka punuar n\u00eb hostim p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb, k\u00ebshtu q\u00eb ai n\u00eb p\u00ebrgjith\u00ebsi e kuptonte se \u00e7far\u00eb i nevojitej klientit dhe \u00e7far\u00eb i nevojitej hosterit.<\/p>\n<p>Billingu ne e quajm\u00eb midis vetes \u00abpaneli i menaxhimit\u00bb: n\u00eb t\u00eb nuk ka vet\u00ebm para dhe sh\u00ebrbime, por edhe menaxhimi i tyre, p\u00ebrkrahja e klient\u00ebve dhe shum\u00eb m\u00eb tep\u00ebr.<\/p>\n<p>P\u00ebr t\u00eb kaluar nga softi ISPSystem, ishte e nevojshme t\u00eb ruhej plot\u00ebsisht funksionaliteti i m\u00ebparsh\u00ebm p\u00ebr klient\u00ebt, t\u00eb transferoheshin t\u00eb gjitha veprimet financiare t\u00eb p\u00ebrdoruesve nga billing t\u00eb vjet\u00ebr n\u00eb at\u00eb t\u00eb ri, si dhe t\u00eb gjitha sh\u00ebrbimet dhe lidhjet midis tyre. Studiuam \u00e7far\u00eb kishte n\u00eb produktin aktual, pastaj zgjidhjet e konkurent\u00ebve, kryesisht DO dhe Vultr. Shikuam dob\u00ebsit\u00eb dhe avantazhet, mbledhim komente nga njer\u00ebzit q\u00eb kan\u00eb punuar me produktet e vjetra nga ISPsystem. <\/p>\n<p>N\u00eb billingun e ri p\u00ebrdor\u00ebm dy steka: PHP klasik, MySQL (dhe n\u00eb t\u00eb ardhmen planifikohet q\u00eb t\u00eb kalojm\u00eb n\u00eb PostgreSQL), Yii2 si nj\u00eb framerwork n\u00eb backend dhe VueJS n\u00eb frontend. Stekat punojn\u00eb pavar\u00ebsisht nga nj\u00ebri-tjetri, zhvillohen nga njer\u00ebz t\u00eb ndrysh\u00ebm, dhe komunikojn\u00eb p\u00ebrmes JSON API. P\u00ebr zhvillimin at\u00ebher\u00eb dhe tani ne p\u00ebrdorim <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jetbrains.com\/phpstorm\/\">PHPStorm<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jetbrains.com\/webstorm\/\">WebStorm<\/a><\/noindex> nga JetBrains dhe i duam shum\u00eb (hej, djem!)<\/p>\n<p>Paneli \u00ebsht\u00eb projektuar sipas nj\u00eb parimi modular: modulet e sistemeve t\u00eb pagesave, moduli i regjistruesve t\u00eb domini ose, p\u00ebr shembull, moduli i certifikatave SSL. Mund t\u00eb shtohet leht\u00ebsisht nj\u00eb funksion i ri ose t\u00eb hiqet nj\u00eb t\u00eb vjet\u00ebr. \u00cbsht\u00eb parashikuar ndihma p\u00ebr zgjerimin, p\u00ebrfshir\u00eb edhe n\u00eb an\u00ebn e kund\u00ebrt, \u00abme pajisjen\u00bb.<br \/>\n<img decoding=\"async\" alt=\"ISPsystem, sorry and goodbye! Why and how we created our server control panel.\" src=\"\/wp-content\/uploads\/2019\/07\/8f4b1bf9c16cc73023cacdde44cae0b3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>\u00c7far\u00eb mor\u00ebm<\/b>: paneli i menaxhimit, mbi t\u00eb cilin kemi kontroll t\u00eb plot\u00eb. Tani gabimet rregullohen brenda disa or\u00ebve, jo jav\u00ebsh, dhe funksionet e reja realizohen sipas k\u00ebrkes\u00ebs s\u00eb klient\u00ebve, jo sipas d\u00ebshir\u00ebs s\u00eb ISPSystem.<\/p>\n<h3>Hapi 3. Interfaces<\/h3>\n<p>\n<img decoding=\"async\" alt=\"ISPsystem, sorry and goodbye! Why and how we created our server control panel.\" src=\"\/wp-content\/uploads\/2019\/07\/48be006688e2246f9a416d2d6a717a82.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nInterfaces \u2014 krijimi yn\u00eb i ekipit. <\/p>\n<p>Fillimisht shikuam se \u00e7far\u00eb do t\u00eb ndodhte n\u00ebse b\u00ebnim nj\u00eb shtes\u00eb mbi API ISPsystem, duke mos ndryshuar asgj\u00eb n\u00eb m\u00ebnyr\u00eb drastike n\u00eb interface. Doli disi dhe vendos\u00ebm ta b\u00ebjm\u00eb gjith\u00e7ka nga e para.<\/p>\n<p>Ne kemi besuar se e r\u00ebnd\u00ebsishme \u00ebsht\u00eb t\u00eb krijojm\u00eb nj\u00eb nd\u00ebrfaqe logjike, me nj\u00eb dizajn t\u00eb past\u00ebr dhe minimalistik dhe at\u00ebher\u00eb do ta kemi nj\u00eb panel t\u00eb bukur. Vendosjen e elementeve e kemi diskutuar n\u00eb Megaplan dhe ngadal\u00eb do t\u00eb lind\u00eb ajo nd\u00ebrfaqe q\u00eb p\u00ebrdoruesit e shohin tani n\u00eb panelin e kontrollit. <\/p>\n<p>E para u shfaq dizajni i faqes s\u00eb faturimit, sepse ne tashm\u00eb b\u00ebm\u00eb plugins pagesash p\u00ebr ISPsystem. <\/p>\n<p><b>Frontend<\/b><\/p>\n<p>Pjesa e panelit u vendos t\u00eb zhvillohet si nj\u00eb aplikacion SPA - i pap\u00ebrfillsh\u00ebm p\u00ebr burimet dhe me ngarkim t\u00eb shpejt\u00eb t\u00eb t\u00eb dh\u00ebnave. Frontend-i yn\u00eb, Artysh, vendosi ta zhvilloj\u00eb at\u00eb n\u00eb Vue - n\u00eb at\u00eb koh\u00eb Vue sapo ishte paraqitur. Ne parashikuam se ky framework do t\u00eb zhvillohet dinamikisht, si React, dhe pas nj\u00ebfar\u00eb koh\u00eb komuniteti i Vue do t\u00eb rritet dhe do t\u00eb shfaqen nj\u00eb mori bibliotekash. Ne e p\u00ebrzgjodh\u00ebm Vue dhe nuk u penduam \u2013 tani shtimi i funksioneve t\u00eb reja n\u00eb frontend q\u00eb tashm\u00eb jan\u00eb programuar n\u00eb backend merr pak koh\u00eb. M\u00eb shum\u00eb rreth frontend-it t\u00eb panelit do t\u00eb tregojm\u00eb n\u00eb nj\u00eb artikull t\u00eb ve\u00e7ant\u00eb.<\/p>\n<p><b>Lidhja e frontend-it me backend-in<\/b><\/p>\n<p>Frontend-i u lidh me backend-in p\u00ebrmes push-eve. Duhej t\u00eb punonim dhe t\u00eb shkruanim nj\u00eb trajtues t\u00eb vetin, por tani p\u00ebrdit\u00ebsimi i informacionit n\u00eb faqe ndodh pothuajse menj\u00ebher\u00eb.<\/p>\n<p><b>\u00c7far\u00eb rezultoi:<\/b> nd\u00ebrfaqja e panelit u b\u00eb m\u00eb e thjesht\u00eb. E b\u00ebm\u00eb at\u00eb adaptuese, dhe ngarkimi i shpejt\u00eb lejon p\u00ebrdorimin e saj edhe nga celular\u00ebt n\u00eb minutat e fundit para ngritjes, pa instaluar nj\u00eb aplikacion t\u00eb ve\u00e7ant\u00eb p\u00ebr t\u00eb punuar me panelin.<\/p>\n<h3>Hapi 4. Testimi dhe skema e migracionit <\/h3>\n<p>\nKur gjith\u00e7ka ishte funksional dhe kishim kaluar testet e para, u vendos \u00e7\u00ebshtja e migracionit. Me t\u00eb par\u00ebn, ne instaluam faturimin dhe filluam t\u00eb testonim funksionimin e tij me agjentin server.<\/p>\n<p>M\u00eb pas shkruam nj\u00eb skript t\u00eb thjesht\u00eb q\u00eb transferon baz\u00ebn e t\u00eb dh\u00ebnave nga faturimi i vjet\u00ebr n\u00eb t\u00eb riun.<\/p>\n<p>Duhej t\u00eb testonim dhe risistem q\u00eb \u00e7do gj\u00eb, pasi t\u00eb dh\u00ebnat u derdh\u00ebn n\u00eb nj\u00eb baz\u00eb t\u00eb re nga tri t\u00eb vjetra: Billmanager, VMmanager dhe IPmanager. Sigurisht, migrimet testuese ishin m\u00eb t\u00eb v\u00ebshtirat me t\u00eb cilat u p\u00ebrball\u00ebm gjat\u00eb zhvillimit t\u00eb panelit t\u00eb ri.<\/p>\n<p>Pas rivler\u00ebsimeve, mbyll\u00ebm faturimin e vjet\u00ebr. Migrimi i fundit i t\u00eb dh\u00ebnave ishte nj\u00eb moment shum\u00eb shqet\u00ebsues, por, fal\u00eb Zotit, u realizua p\u00ebr disa minuta dhe pa probleme t\u00eb dukshme. Ka pasur disa defekte t\u00eb vogla, t\u00eb cilat i riparuam gjat\u00eb jav\u00ebs. Koha kryesore u mor nga testimi i asaj q\u00eb rezultoi.<\/p>\n<p>M\u00eb pas, ne d\u00ebrguam letrat klient\u00ebve me adres\u00ebn e panelit t\u00eb ri dhe faturimit dhe b\u00ebm\u00eb nj\u00eb redirigjim. <\/p>\n<p><b>N\u00eb fund:<\/b> <b>Eshte e gjall\u00eb!<\/b><\/p>\n<h2>P\u00ebrfundimi i lumtur<\/h2>\n<p>\nQ\u00eb n\u00eb or\u00ebt e para t\u00eb funksionimit t\u00eb softuerit ton\u00eb, ne ndjem\u00eb t\u00eb gjitha p\u00ebrfitimet e kalimit. Kodi ishte plot\u00ebsisht yn\u00eb dhe me nj\u00eb arkitektur\u00eb t\u00eb p\u00ebrshtatshme, nd\u00ebrsa nd\u00ebrfaqja ishte e past\u00ebr dhe logjike.<br \/>\n<img decoding=\"async\" alt=\"ISPsystem, sorry and goodbye! Why and how we created our server control panel.\" src=\"\/wp-content\/uploads\/2019\/07\/c673e49afb4bf25c8922161a8bb927a2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Rishikimi i par\u00eb pas lan\u00e7imit t\u00eb panelit t\u00eb ri<\/i><\/p>\n<p>Ne filluam procesin e kalimit n\u00eb dhjetor, p\u00ebrpara Vitit t\u00eb Ri 2017, kur ngarkesat ishin m\u00eb t\u00eb ul\u00ebta, p\u00ebr t\u00eb b\u00ebr\u00eb kalimin m\u00eb t\u00eb leht\u00eb p\u00ebr klient\u00ebt - pothuajse askush nuk punon para festave.<\/p>\n<p>Gjithashtu, ajo q\u00eb fituam nga kalimi n\u00eb sistemin ton\u00eb (p\u00ebrve\u00e7 besueshm\u00ebris\u00eb dhe leht\u00ebsis\u00eb s\u00eb p\u00ebrgjithshme) ishte mund\u00ebsia p\u00ebr t\u00eb shtuar shpejt funksionalitete p\u00ebr klient\u00ebt kryesor\u00eb - t\u00eb ishim fytyra e tyre, e jo mbrapa.<\/p>\n<h3>\u00c7far\u00eb ndodh m\u00eb tej?<\/h3>\n<p>\nNe po rritemi, po rritet numri i t\u00eb dh\u00ebnave, klient\u00ebve, t\u00eb dh\u00ebnave t\u00eb klient\u00ebve. N\u00eb backend duhej t\u00eb shtonim nj\u00eb server Memcached dhe dy menaxher\u00eb radh\u00ebsh me detyra t\u00eb ndryshme. N\u00eb frontend ka ruajtje n\u00eb cache dhe radh\u00eb t\u00eb veta. <\/p>\n<p>Sigurisht, ne pat\u00ebm edhe aventura gjat\u00eb zhvillimit dhe p\u00ebrmir\u00ebsimit t\u00eb produktit, p\u00ebr shembull, kur shtonim HighLoad. <\/p>\n<p>N\u00eb artikullin tjet\u00ebr do t\u00eb tregojm\u00eb si e zhvilluam planin Hi-CPU: p\u00ebr harduerin, software, \u00e7far\u00eb sfidash zgjidh\u00ebm dhe \u00e7far\u00eb arrit\u00ebm.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/460107\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u044b \u00ab\u0425\u043e\u0441\u0442\u0438\u043d\u0433 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438\u00bb \u0438 5 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 VDSina \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 vds \u0445\u043e\u0441\u0442\u0438\u043d\u0433, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041c\u044b \u0441\u0442\u0440\u0435\u043c\u0438\u043c\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0433\u043e \u0443\u0434\u043e\u0431\u043d\u044b\u043c, \u043a\u0430\u043a DigitalOcean, \u043d\u043e \u0441 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438 \u043e\u043f\u043b\u0430\u0442\u044b \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438. \u041d\u043e DigitalOcean \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0446\u0435\u043d\u0430, \u044d\u0442\u043e \u0435\u0449\u0435 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441. \u0421\u043e\u0444\u0442 \u043e\u0442 ISPsystem \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0432\u0435\u0440\u0435\u0432\u043a\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043b\u0430 \u043d\u0430\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36207","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47ISPsystem, \u043f\u0440\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0449\u0430\u0439! \u041f\u043e\u0447\u0435\u043c\u0443 \u0438 \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0432\u043e\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:10:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:10:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47ISPsystem, falje dhe lamtumir\u00eb! Pse dhe si shkruam panelin ton\u00eb t\u00eb menaxhimit t\u00eb server\u00ebve | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47ISPsystem, \u043f\u0440\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0449\u0430\u0439! \u041f\u043e\u0447\u0435\u043c\u0443 \u0438 \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0432\u043e\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 | ProHoster","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:10:17+00:00","article:modified_time":"2019-10-31T19:10:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36207","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 02:25:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:48:27","updated":"2026-01-22 02:25:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/36207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=36207"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/36207\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/27085"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=36207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=36207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=36207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}