Telegram-botni uy kompyuteridan VPS’ga 30 daqiqada qanday kōçiriş
VPS va serverlar Çop etilgan: 15.09.2026 · 7 daqiqa ōqiş
Noutbukda işga tuşirilgan bot qopqoq yopilgunça yaşaydi. VPS’ga kōçiş yarim soat oladi va kuniga 4 000 sōm turadi — quyida Python va Node.js uçun bosqiçma-bosqiç yōriqnoma.
1-qadam. Server yarating
Şaxsiy kabinetda Ubuntu 22.04 yoki 24.04, 1 vCPU, 1 GB RAM, 20 GB disk tanlang — bir neçta bot uçun yetadi. 10–15 daqiqadan keyin IP-manzil va root parolini olasiz. Node.js va Python uçun tizimdagi farq ahamiyatsiz, Ubuntu — eng başorat qilinadigan variant.
2-qadam. Ulaning va tizimni tayyorlang
ssh root@SIZNING_IP
apt update && apt upgrade -y
adduser bot
usermod -aG sudo bot
Root’dan işlaş — yomon odat; alohida foydalanuvçi yarating. Keyingi barça buyruqlar undan bajariladi.
3-qadam. Muhitni ōrnating
Python:
sudo apt install -y python3 python3-venv python3-pip git
cd ~ && git clone https://github.com/siz/sizning-bot.git bot
cd bot && python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
Node.js:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs git
cd ~ && git clone https://github.com/siz/sizning-bot.git bot
cd bot && npm install
Bot tokeni va boşqa sirlarni kodga emas, loyiha papkasidagi .env fayliga qōying. Bot qōlda işga tuşişini tekşiring: python bot.py yoki node index.js. Telegramda javob bersa — davom eting.
4-qadam. systemd xizmati sifatida işga tuşiring
Bu asosiy qadam: xizmat nosozlik yoki server qayta yuklanganidan keyin ōzi qayta işga tuşadi. /etc/systemd/system/bot.service faylini yarating:
[Unit]
Description=Telegram bot
After=network.target
[Service]
User=bot
WorkingDirectory=/home/bot/bot
EnvironmentFile=/home/bot/bot/.env
ExecStart=/home/bot/bot/venv/bin/python bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Node.js uçun ExecStart ni /usr/bin/node index.js ga almaştiring. Keyin:
sudo systemctl daemon-reload
sudo systemctl enable --now bot
sudo systemctl status bot
journalctl -u bot -f
Oxirgi buyruq loglarni real vaqtda kōrsatadi — biror narsa notōḡri ketsa, xatolarni ōşa yerda kōrasiz.
5-qadam (ixtiyoriy). Polling ōrniga webhook’lar
Long polling darhol işlaydi va heç narsa talab qilmaydi. Webhook’lar tezroq va tejamkorroq, lekin domen va HTTPS kerak. Domen A-yozuvini server IP’siga yōnaltiring, Nginx va certbot ōrnating:
sudo apt install -y nginx certbot python3-certbot-nginx
sudo certbot --nginx -d bot.sizning-domen.uz
Nginx konfigida location /webhook ni bot tinglayotgan portga (masalan, 8080) yōnaltiring va setWebhook orqali webhook’ni rōyxatdan ōtkazing. Telegram webhook’larni 443, 80, 88 va 8443 portlarda qabul qiladi.
6-qadam. Minimal xavfsizlik
- Brandmauerni yoqing:
sudo ufw allow OpenSSH && sudo ufw allow 443 && sudo ufw enable. - SSH uçun parol bilan kirişni ōçiring, faqat kalitlarni qoldiring (
/etc/ssh/sshd_configdaPasswordAuthentication no). fail2banōrnating — u parol tanlaşni bloklaydi.- Şaxsiy kabinetda server snapşotini oling — muvaffaqiyatsiz tajribalar uçun qaytiş nuqtasi.
Keyin nima
Botlar bir neçta bōlganda yoki ma’lumotlar bazasi paydo bōlganda xotira qōşing — bu qayta ōrnatmasdan qilinadi. Konteynerlar qulayroq bōlsa, Docker ham odatdagidek ōrnatiladi. Tariflar va kōp sōraladigan savollarga javoblar — Telegram-bot uçun server sahifasida.
Konfiguratsiyani tanlaymiz, narxini hisoblaymiz va loyihani bepul kōçiramiz.