NameOcean texnologiyalari: Python, Django, Redis va Proxmox
Qisqa javob: NameOcean — Python va Django asosidagi ilova. Ma'lumotlar PostgreSQL'da saqlanadi, kesh vazifasini Redis bajaradi. Fon vazifalari ikki xil navbat tizimida ishlaydi: qisqa vazifalar uchun Redis ustidagi RQ, og'irroq jarayonlar uchun RabbitMQ ustidagi Dramatiq. Mijozlar hostingi o'z serverlarimizdagi Proxmox LXC konteynerlarida ishlaydi. Bularning barchasini brauzerdan, Go tilida yozilgan buyruq qatori vositasidan yoki MCP orqali AI yordamchingizdan boshqarishingiz mumkin. Ushbu maqolada har bir qatlamni ko'rib chiqamiz va nega aynan uni tanlaganimizni tushuntiramiz.
Texnologiyalar to'plami bir qarashda
- Til va freymvork: Python va Django; ilova Nginx ortida Gunicorn orqali ishlaydi.
- Ma'lumotlar bazasi: PostgreSQL. Alohida zaxira serveriga istalgan vaqt nuqtasiga tiklash (point-in-time recovery) imkonini beruvchi zaxira nusxalar olinadi.
- Kesh: Redis, django-redis va django-cacheops orqali.
- Navbatlar: Redis ustidagi RQ (django-rq) hamda RabbitMQ ustidagi Dramatiq.
- Hosting: har bir mijoz serverini LXC konteyner sifatida ishga tushiradigan Proxmox VE xostlari.
- DNS: o'zimizning PowerDNS serverlarimiz, ns1 dan ns4 gacha.
- Obyekt xotirasi: fayllar, zaxira nusxalar va blog rasmlari uchun o'zimiz joylashtirgan, S3 bilan mos xotira.
- Mijoz vositalari:
nameoceanCLI (Go) va AI mijozlari uchun masofaviy MCP serverimiz. Ikkalasi ham bitta ochiq API ustiga qurilgan. - Joylashtirish:
git pushva bitta Fabric buyrug'i. Hech kim serverda kodni qo'lda tahrirlamaydi.
Boshqa biror sayt qanday qurilganini bilmoqchimisiz? Bepul Website Technology Checker vositamiz istalgan domenning hosting provayderi, CMS, dasturlash tili va freymvorkini ko'rsatib beradi. Uni nameocean.net misolida sinab ko'ring.
G'oyangiz bormi? Unga mos ideal domenni toping
AI domen nomi generatorimiz yuzlab zonalar bo'ylab bo'sh nomlarni taklif qiladi. Bepul SSL, DNS va Whois maxfiyligi kiritilgan.
Nega Python va Django
Domen registratori tashqaridan oddiy ko'rinadi: nomni qidirasiz, to'laysiz, DNS'ni boshqarasiz. Ammo uning ostida juda ko'p biznes mantiq yotadi. Registrator API'lari, o'z holat mashinalariga ega transferlar, uzaytirishlar, bir nechta valyutadagi hisob-fakturalar, SSL sertifikatlarini chiqarish, DNS zonalari, pochta qutilari va hosting serverlari bor. Bularning barchasi 21 tilda ishlaydi. Bizga shu mantiqni o'qilishi oson holda saqlaydigan va kichik jamoaga xavfsiz yangilanish chiqarish imkonini beradigan texnologiyalar kerak edi. Django aynan shuni beradi.
Kerakli hamma narsa tayyor holda
Django har qanday registratorga birinchi kundanoq kerak bo'ladigan qismlarni tayyor holda taqdim etadi:
- ORM va migratsiyalar. Modellarimiz (domenlar, zonalar, transferlar, hisoblar, serverlar) har hafta o'zgaradi. Django migratsiyalari sxemadagi har bir o'zgarishni git'dagi ko'rib chiqilgan faylga aylantiradi. Bu fayl lokal muhitda, testlarda va production'da bir xil ishlaydi.
- Admin panel. Qo'llab-quvvatlash va operatsion ishlar Django admin panelida bajariladi. Shu tufayli ichki boshqaruv tizimini noldan qurishimizga to'g'ri kelmadi. Xavfsiz o'chirish va hisob-kitob amallari kabi muhim joylarda uni o'zimizga moslashtiramiz.
- Autentifikatsiya va xavfsizlik. Sessiyalar, CSRF himoyasi, parollarni xeshlash va e-mailga asoslangan maxsus foydalanuvchi modeli tayyor holda keladi. Biz ularning ustiga ikki bosqichli autentifikatsiyani qo'shdik.
- Xalqarolashtirish. Sayt Django'ning gettext vositalari va til prefiksli URL'lar yordamida 21 tilga tarjima qilingan. Ingliz tili prefikssiz ishlaydi, qolgan tillar esa
/tr/,/de/kabi prefikslarga ega. - Sayt xaritalari, keshlash, shablonlar. Barchasi standart va yaxshi hujjatlashtirilgan.
Veb-saytdan serverlargacha bitta til
Python faqat veb-ilova uchun emas. Navbat ishchilari, cron vazifalarimiz ortidagi boshqaruv buyruqlari, Proxmox bilan ishlaydigan skriptlar, DNS vositalari (dnspython) va joylashtirish skriptlarimiz (Fabric) ham shu tilda yozilgan. To'lov sahifasi kodini o'qiy oladigan muhandis hosting konteynerini yaratadigan yoki sertifikatni yangilaydigan kodni ham o'qiy oladi. Kichik jamoa uchun bu xom tezlikdan muhimroq.
Istisno — sizning kompyuteringizda ishlaydigan vositalar. Har bir foydalanuvchidan Python va bir qancha paketlarni o'rnatishni so'rash yomon ilk taassurot qoldiradi. Shu sababli CLI Go tilida yozilgan (bu haqda quyida batafsil). Bu vositalarda o'z biznes mantig'i yo'q: hamma narsa o'sha Django API orqali o'tadi.
Yetuk ekotizim
Biz integratsiya qiladigan deyarli har bir xizmatning ishonchli Python kutubxonasi bor: to'lovlar uchun Stripe, ochiq API'miz uchun Django REST framework, boto uslubidagi S3 mijozlari, Proxmox API, Sentry bilan mos xatolar hisoboti. AI yordamchilarga mijoz nomidan domenlar va DNS'ni boshqarish imkonini beradigan masofaviy MCP serverimiz ham Django ilovasining bir qismi.
Nimadan voz kechamiz va buni qanday hal qilamiz
Python eng tez til emas. Shuningdek, sinxron Django so'rovi sekin registrator API'sini kutib turmasligi kerak. Bu muammoni uch yo'l bilan hal qilamiz: og'ir yoki sekin ishlar navbatga yuboriladi, tez-tez o'qiladigan ma'lumotlar Redis'dan olinadi, ma'lumotlar bazasi esa so'rovlarimizga mos sozlangan va indekslangan. Amalda tor joy deyarli har doim Python emas, balki tashqi API bo'ladi.
PostgreSQL: haqiqat manbai
Har bir domen, zona, hisob-faktura va server PostgreSQL'da saqlanadi. Uni qat'iy tranzaksiyalari (pul va domenga egalik hech qachon chala yozilmasligi kerak), JSON maydonlari va tarmoq manzillari kabi boy turlari hamda ishonchli zaxiralash imkoniyatlari uchun tanladik. Zaxiralash uzluksiz ishlaydi: write-ahead log alohida zaxira serveriga yuborib turiladi. Shu sababli ma'lumotlar bazasini faqat kechagi nusxaga emas, istalgan vaqt nuqtasiga tiklay olamiz. Zaxiradagi tayyor veb-server ham shu ma'lumotlar bazasidan foydalanadi va asosiy veb-server ishdan chiqsa, uning vazifasini o'z zimmasiga oladi.
Redis: avvalo kesh
Redis — bizning keshimiz. Domen mavjudligi va narx so'rovlari, tayyorlangan sahifa qismlari va so'rovlar cheklovlari Redis'da saqlanadi. Shu tufayli takroriy so'rov registrator API'siga ham, ma'lumotlar bazasiga ham murojaat qilmaydi. Har bir kesh kalitiga til ham kiritilgan, chunki bitta sahifa / va /tr/ manzillarida farq qiladi. Bundan tashqari, ORM so'rov natijalarini keshlash va qator o'zgarganda ularni avtomatik bekor qilish uchun django-cacheops'dan foydalanamiz.
Redis'ni tanlash oson bo'ldi: u tez, boshqarish oson va Django bilan juda yaxshi ishlaydi. U allaqachon mavjud bo'lgani uchun yengil vazifalar navbatimiz ham unga tayanadi.
Navbatlar: Redis ustidagi RQ va RabbitMQ ustidagi Dramatiq
Mijoz boshlagan ko'p amallar u ko'rib turgan sahifani to'xtatib qo'ymasligi kerak. Domenni reyestrda ro'yxatdan o'tkazish, SSL sertifikatini chiqarish, pochta manzilini yaratish yoki hosting konteynerini ishga tushirish soniyalar, ba'zan daqiqalar oladi. Bunday vazifalar navbatga qo'yiladi va ishchilar ularni olib bajaradi. Biz ikkita navbat tizimidan foydalanamiz va har birini o'zi eng yaxshi uddalaydigan ish uchun ishlatamiz.
Redis ustidagi RQ (django-rq)
RQ — Python olamidagi eng sodda navbat: vazifa Redis'da saqlanadigan Python funksiyasi va uning argumentlaridan iborat. Undan saytning kundalik vazifalari uchun foydalanamiz:
- ro'yxatdan o'tgandan so'ng mijozning registratordagi hisobini yaratish,
- SSL sertifikatlarini chiqarish va yangilash,
- domen holati va DNS zonalarini sinxronlash,
- pochta manzillari va yo'naltirish qoidalarini qo'shish,
- hosting konteynerlarini ishga tushirish va to'xtatish, portlarni ochish hamda mijoz serveri uchun Nginx'ni sozlash,
- hisoblarni yaratish va uzaytirish haqida eslatmalar yuborish.
Rejalashtiruvchi jarayon davriy vazifalarni ishga tushiradi, django-rq boshqaruv paneli esa navbatdagi, bajarilayotgan va xato bilan tugagan vazifalarni to'g'ridan-to'g'ri admin panel ichida ko'rsatadi. Ishlab chiqish muhitida navbat sinxron ishlaydi: vazifa darhol bajariladi va uning xatolari shu zahoti ko'rinadi.
RabbitMQ ustidagi Dramatiq
Og'irroq va uzoqroq davom etadigan jarayonlar uchun broker sifatida RabbitMQ bilan Dramatiq'dan foydalanamiz. RabbitMQ — maxsus xabar brokeri: xabar faqat ishchi uni oxirigacha bajargandan keyin tasdiqlanadi. Shu sababli ishchi yarim yo'lda ishdan chiqsa ham vazifa yo'qolmaydi. Dramatiq bularning ustiga eksponensial kechikish bilan avtomatik qayta urinishlar, vaqt cheklovlari, ustuvorliklar va middleware qo'shadi. Bu ko'p bosqichli, katta hajmli yoki vaqti-vaqti bilan ishdan chiqadigan tashqi xizmatlarga bog'liq ishlar uchun juda mos.
Nega ikkita navbat?
RQ oddiy vazifalarni oddiyligicha qoldiradi: qo'shimcha xizmat kerak emas, xatolarni tuzatish oson, Redis esa allaqachon ishlab turibdi. RabbitMQ va Dramatiq esa vazifaga haqiqatan zarur bo'lganda yetkazib berishning kuchliroq kafolatlari va yuqoriroq o'tkazuvchanlikni ta'minlaydi. Har bir ish turi uchun alohida tanlov qilganimiz sababli besh soniyalik vazifa uchun to'laqonli xabar brokerini boshqarish xarajatini to'lamaymiz, muhim jarayonni esa eng sodda vositaga ishonib topshirmaymiz.
Hosting: Proxmox va LXC konteynerlari
Hosting va vibe hosting tariflarimiz o'zimizning Proxmox VE serverlarimizda ishlaydi. Har bir mijoz serveri to'laqonli virtual mashina emas, balki LXC konteyner.
- Konteynerlar xost yadrosidan birgalikda foydalanadi, shuning uchun ular bir necha soniyada ishga tushadi va virtual mashinalarga qaraganda ancha kam xotira sarflaydi. Natijada uskunaning kattaroq qismi ikkinchi operatsion tizimga emas, mijoz ilovasiga sarflanadi.
- Har bir konteyner izolyatsiya qilingan: o'z fayl tizimi, jarayonlari, tarmog'i hamda CPU, xotira va disk uchun resurs cheklovlariga ega.
- Hamma narsa Proxmox API orqali avtomatlashtirilgan. Server buyurtma qilganingizda Django navbatga vazifa yuboradi. Ishchi shablondan konteyner yaratadi, uning cheklovlarini o'rnatadi, tarmoqqa ulaydi, portlarni ochadi hamda domeningiz uchun teskari proksi va SSL'ni sozlaydi.
- Hajmni o'zgartirish, zaxiralash va tiklash boshqaruv panelida o'sha API'ni chaqiradigan oddiy tugmalar orqali bajariladi. Yuklamani qayta taqsimlash kerak bo'lganda konteynerlarni Proxmox xostlari o'rtasida ko'chirish ham mumkin.
O'z uskunamizdan foydalanish oldindan aniq narxlarni hamda tarmoq, zaxira nusxalar va ma'lumotlar saqlanadigan joy ustidan to'liq nazoratni ta'minlaydi.
DNS, e-mail va xotira
- DNS: zonalarga o'zimizning PowerDNS serverlarimiz (ns1 dan ns4 gacha) xizmat ko'rsatadi. DNS panelida kiritgan o'zgarishlaringiz asosiy serverga yoziladi va ikkilamchi serverlarga avtomatik uzatiladi. Asosiy server har kecha zaxiralanadi.
- E-mail: email hosting va bepul email yo'naltirish xizmatlari domeningiz uchun SPF, DKIM va DMARC sozlangan o'z pochta serverlarimizda ishlaydi.
- Obyekt xotirasi: yuklangan fayllar, zaxira nusxalar va rasmlar o'zimiz joylashtirgan, S3 bilan mos xotirada saqlanadi.
nameocean CLI va MCP server
Veb boshqaruv paneli yagona yo'l emas. Uning har bir amali ochiq REST API'miz va https://nameocean.net/mcp manzilidagi masofaviy MCP serverimiz orqali o'tadi. nameocean CLI ham aynan shular ustiga qurilgan.
nameocean CLI
nameocean — Go tilida yozilgan yagona statik fayl. U macOS, Linux va Windows uchun, amd64 va arm64 arxitekturalarida yig'ilgan. Bu yerda Go'ni server uchun Python'ni tanlaganimizning aksi bo'lgan sabab bilan tanladik: CLI bir necha soniyada o'rnatilishi va hech qanday runtime'siz istalgan joyda ishlashi kerak. Go aynan shunday ishlaydigan bitta faylga kompilyatsiya qilinadi.
- Bir marta kiring.
nameocean loginbrauzerni ochadi va OAuth 2.1 hamda PKCE orqali tizimga kiritadi. Tokenlar operatsion tizimning kalitlar omborida (macOS Keychain, Windows Credential Manager yoki Linux'da libsecret) saqlanadi va avtomatik yangilanadi. Serverlarda va CI muhitida buning o'rniga boshqaruv panelidagi API kalitdan foydalanish mumkin. - Serverlar va portlar.
nameocean servers ls, SSH va git ma'lumotlari uchunservers info, konteyneringizdagi portni ochish yoki yopish uchunports open/ports close. - Serverlardagi domenlar.
nameocean bind example.com <server>bitta buyruq bilan DNS, SSL va yuklama muvozanatlagichni sozlaydi. - DNS va SSL. A, CNAME, MX, TXT va boshqa yozuvlar uchun
dns ls,dns addvadns rm, shuningdekssl statusvassl issue --wait. - Domenlar. Mavjudlik va narxni tekshirish uchun
domains lsvadomains check. CLI hech qachon pul sarflamaydi: ro'yxatdan o'tkazish va uzaytirish faqat boshqaruv panelida bajariladi. - Skriptlar va AI agentlar uchun mo'ljallangan. Har bir buyruq
--jsonparametrini qabul qiladi va API'ning JSON javobini o'zgarishsiz chiqaradi. Shu sababli natijani to'g'ridan-to'g'rijq, shell skriptlari yoki agentga uzatish mumkin. - AI mijozlari uchun bitta buyruq.
nameocean mcp installkompyuteringizdagi Claude Code, Cursor va OpenCode'ni topadi va ularning har biriga NameOcean MCP serverini qo'shadi.
nameocean login
nameocean dns add example.com A @ 203.0.113.10 --ttl 5m
nameocean bind example.com 3f9a1c2e
nameocean servers ls --json | jq '.servers[].default_domain'
Uni Homebrew orqali (brew install nameocean/tap/nameocean) o'rnating yoki platformangiz uchun arxivni yuklab oling.
Masofaviy MCP server
Vibe hostingda AI yordamchingiz NameOcean bilan to'g'ridan-to'g'ri muloqot qiladi. Claude Code'ni bitta buyruq bilan ulash mumkin: claude mcp add --transport http nameocean https://nameocean.net/mcp. Brauzerda bir marta tizimga kirasiz, shundan so'ng konfiguratsiya fayliga tegmasdan undan ilovani joylashtirish, port ochish yoki domenni serveringizga yo'naltirishni so'rashingiz mumkin. Cursor, Claude Desktop, claude.ai va boshqa MCP mijozlari ham shu URL'ga ulanadi; buni qanday qilish MCP hujjatlarida ko'rsatilgan. Kompyuteringizda hech narsa ishlamaydi, shuning uchun o'rnatish yoki yangilash kerak bo'lgan narsa ham yo'q.
Ilgari buning uchun desktop ilovamiz bor edi. U lokal MCP serverni ishga tushirar va parol bilan tizimga kirar edi, ikki bosqichli kirish qoidalari esa bunga yo'l qo'ymaydi. Masofaviy server xuddi shu vazifani o'rnatishsiz bajargani uchun 2026-yil noyabrida ilovadan voz kechdik.
Nega ikkalasi ham?
Har kim har xil muhitda ishlaydi. CLI terminalda ishlashni yaxshi ko'radigan va skriptlash mumkin bo'lgan, takrorlanadigan buyruqlarni xohlaydigan dasturchilar uchun. MCP server esa nima istashini tasvirlab berib, qolganini AI yordamchisiga topshirishni afzal ko'radiganlar uchun. Ikkalasi ham bitta API ustidagi yupqa qatlam bo'lgani uchun Django ilovasiga qo'shilgan har bir funksiya bir vaqtning o'zida veb boshqaruv paneli, CLI va barcha MCP mijozlarida paydo bo'ladi.
Monitoring va joylashtirish
Production'dagi har bir xato o'zimiz joylashtirgan, Sentry bilan mos xatolarni kuzatish tizimiga yuboriladi. Ishlash vaqtini tekshiruvchi vositalar har bir veb-serverni kuzatib boradi, metrikalar esa vaqt qatorlari ma'lumotlar bazasiga yoziladi. Joylashtirish ataylab zerikarli qilingan: git'ga push qilamiz va bitta Fabric buyrug'ini ishga tushiramiz. U har bir veb-serverni yangilaydi, bog'liqliklarni o'rnatadi, migratsiyalarni bajaradi, statik fayllarni yig'adi, tarjimalarni kompilyatsiya qiladi va ilovani qayta ishga tushiradi. Agar serverda eskirgan kod qolsa, yechim qo'lda tahrirlash emas, balki yana bir joylashtirish bo'ladi.
Xulosa
- Python va Django — o'qilishi oson biznes mantiq, admin panel, i18n va hamma joyda bitta til uchun.
- PostgreSQL — istalgan vaqt nuqtasiga tiklash imkoniyatiga ega yagona haqiqat manbai.
- Redis — kesh hamda RQ vazifalar navbatining asosi.
- RQ — oddiy fon vazifalari uchun, RabbitMQ ustidagi Dramatiq — og'ir va yo'qolishi mumkin bo'lmagan jarayonlar uchun.
- Proxmox LXC konteynerlari — tez, izolyatsiyalangan va arzon hosting uchun.
- nameocean CLI (Go) va masofaviy MCP server — bitta API ustidagi yupqa qatlamlar.
Boshqa biror sayt nima asosida ishlashini bilmoqchimisiz? Uni Website Technology Checker orqali tekshiring. O'z loyihangizni qurishga tayyormisiz? Domen toping va uni NameOcean hostingiga joylashtiring.
G'oyangiz bormi? Unga mos ideal domenni toping
AI domen nomi generatorimiz yuzlab zonalar bo'ylab bo'sh nomlarni taklif qiladi. Bepul SSL, DNS va Whois maxfiyligi kiritilgan.