Khi vận hành một hệ thống Telegram Bot tự lưu trữ (self-hosted), sẽ có thời điểm bạn cần nâng cấp tài nguyên hoặc thay đổi nhà cung cấp hosting. Việc chuyển server Telegram Bot cần được thực hiện cẩn thận để tránh gián đoạn dịch vụ và bảo vệ dữ liệu người dùng. Bài viết này sẽ hướng dẫn bạn quy trình di chuyển chi tiết, an toàn từ server cũ sang server mới sử dụng Nginx Proxy Manager.
Đối với các lập trình viên đang vận hành hệ thống lớn, việc tự cấu hình cổng kết nối Telegram Bot API cục bộ mang lại nhiều lợi ích vượt trội. Nó cho phép bạn gửi tệp tin dung lượng lớn lên đến 2GB thay vì giới hạn 50MB của máy chủ Telegram công cộng. Tuy nhiên, khi hạ tầng thay đổi, bạn bắt buộc phải biết cách chuyển server Telegram Bot để duy trì sự ổn định của dịch vụ mà không làm thất thoát các gói tin webhook quan trọng từ người dùng.
Tại sao bạn cần chuyển server Telegram Bot?
Có rất nhiều lý do khiến các nhà phát triển quyết định chuyển server Telegram Bot sau một thời gian vận hành. Nguyên nhân phổ biến nhất là do lượng người dùng và dữ liệu của bot tăng nhanh, vượt quá giới hạn tài nguyên của Cloud VPS cũ. Khi đó, tình trạng phản hồi chậm, nghẽn mạng hoặc tràn bộ nhớ đệm sẽ xảy ra liên tục, ảnh hưởng trực tiếp đến trải nghiệm người dùng.
Bên cạnh đó, việc chuyển đổi mô hình quản trị cũng là động lực lớn. Nhiều doanh nghiệp đang chuyển từ các hệ thống quản trị cồng kềnh như CyberPanel sang mô hình gọn nhẹ, dễ bảo trì hơn như Docker kết hợp Nginx Proxy Manager. Việc tối ưu hóa này giúp cải thiện hiệu suất hoạt động tổng thể của các dịch vụ Telegram Bot đang chạy trên hệ thống của bạn.
Dù lý do là gì, việc lập kế hoạch kỹ lưỡng trước khi bắt tay vào thực hiện là cực kỳ quan trọng. Hệ thống bot không đơn thuần là một ứng dụng chạy độc lập, nó liên quan trực tiếp đến webhook của Telegram, chứng chỉ bảo mật SSL/TLS và việc quản lý dung lượng ổ cứng chứa các tệp dữ liệu tạm.

Các bước chuẩn bị trước khi di chuyển server
Trước khi thực hiện bất kỳ lệnh di chuyển nào, bạn cần sao lưu toàn bộ cấu hình hiện tại của máy chủ cũ. Điều này giúp bạn có thể khôi phục lại hệ thống nhanh chóng nếu có sự cố xảy ra trong quá trình cấu hình môi trường mới.
Đầu tiên, hãy xác định các tham số khởi chạy của tiến trình API cũ. Thông thường, tiến trình này được chạy dưới dạng một dịch vụ hệ thống (systemd service) hoặc một container Docker. Bạn cần ghi lại chính xác API ID và API Hash lấy từ trang cấu hình của Telegram, cũng như đường dẫn lưu trữ các tệp tạm thời.
Thứ hai, hãy kiểm tra cổng kết nối SSH và các cài đặt bảo mật của cả hai VPS. Việc biết rõ cách chuyển server Telegram Bot sẽ giúp bạn chuẩn bị tốt hơn, ví dụ như mở sẵn các cổng mạng cần thiết trên tường lửa của máy chủ mới để không làm gián đoạn luồng dữ liệu webhook sau khi trỏ DNS.
Quy trình 4 bước chuyển server Telegram Bot chi tiết
Quy trình di chuyển được chia thành 4 bước rõ ràng nhằm đảm bảo tính toàn vẹn của dữ liệu và giảm thiểu tối đa thời gian gián đoạn dịch vụ (downtime).
Bước 1: Sao chép file thực thi (Binary) và cấu hình Service
Để tiết kiệm thời gian, bạn có thể sao chép trực tiếp file thực thi telegram-bot-api đã được biên dịch từ VPS cũ sang VPS mới thay vì phải biên dịch lại từ đầu (thường mất từ 30 đến 60 phút). Việc sao chép nhị phân trong quá trình chuyển server Telegram Bot giúp rút ngắn đáng kể thời gian triển khai thực tế.
Đầu tiên, hãy truy cập vào VPS mới qua SSH và tạo các thư mục cần thiết:
mkdir -p /root/telegram-bot-api/bin
mkdir -p /var/lib/telegram-bot-api-tmp
chmod 777 /var/lib/telegram-bot-api-tmp
Tiếp theo, chạy lệnh scp trên VPS mới để tải trực tiếp file binary từ VPS cũ về. Giả sử SSH port của VPS cũ là 24700 và địa chỉ IP của VPS cũ là 103.72.98.XX (thông tin IP đã được ẩn để bảo mật):
scp -P 24700 root@103.72.98.XX:/root/telegram-bot-api/bin/telegram-bot-api /root/telegram-bot-api/bin/telegram-bot-api
chmod +x /root/telegram-bot-api/bin/telegram-bot-api
Kiểm tra xem file thực thi có chạy tốt trên môi trường VPS mới hay không khi tiến hành chuyển server Telegram Bot:
/root/telegram-bot-api/bin/telegram-bot-api --help
Nếu hệ thống báo thiếu thư viện dùng chung libc++.so.1, bạn chỉ cần chạy lệnh sau để cài đặt bổ sung thư viện C++ của LLVM:
sudo apt update && sudo apt install libc++1 libc++abi1 -y
Sau khi chạy thử thành công, hãy tạo file dịch vụ systemd để quản lý tiến trình chạy ngầm của bot trên VPS mới:
nano /etc/systemd/system/telegram-bot-api.service
Thêm nội dung cấu hình dịch vụ dưới đây vào file. Hướng dẫn chuyển server Telegram Bot này sử dụng các tham số tối ưu giúp dịch vụ tự động khởi động lại khi gặp lỗi:
[Unit]
Description=Telegram Bot API Server
After=network.target
[Service]
ExecStart=/root/telegram-bot-api/bin/telegram-bot-api \
--api-id=21011591 \
--api-hash=f7f3807f0bcde0928c3ae6c3a28d154f \
--local \
--verbosity=1 \
--temp-dir=/var/lib/telegram-bot-api-tmp
Restart=always
User=root
[Install]
WantedBy=multi-user.target
Kích hoạt và khởi chạy dịch vụ trên VPS mới để hoàn tất thiết lập nền tảng:
systemctl daemon-reload
systemctl enable telegram-bot-api
systemctl start telegram-bot-api
Kiểm tra trạng thái hoạt động để đảm bảo dịch vụ đã lắng nghe trên port 8081 của VPS mới:
systemctl status telegram-bot-api
ss -tulpn | grep 8081
Bước 2: Cấu hình Reverse Proxy qua Nginx Proxy Manager
Cấu hình cổng kết nối cho việc chuyển server Telegram Bot thông qua reverse proxy là bắt buộc để mã hóa kết nối bằng SSL. Khi sử dụng Nginx Proxy Manager chạy trong Docker làm cổng quản lý tên miền, việc kết nối tới một dịch vụ chạy trực tiếp trên hệ điều hành máy chủ cần lưu ý về đường truyền mạng Docker nội bộ.
在过程中 chuyển server Telegram Bot, bạn không thể điền IP chuyển tiếp là 127.0.0.1 vì Docker sẽ tự tìm kiếm port đó bên trong container của chính nó chứ không phải trên máy chủ vật lý. Nginx Proxy Manager đóng vai trò trung tâm khi chuyển server Telegram Bot vì nó đứng ra nhận yêu cầu HTTPS từ Telegram và chuyển tiếp HTTP về port 8081 của máy chủ.
Hãy thực hiện cấu hình Proxy Host trên giao diện Nginx Proxy Manager theo các thông số chi tiết sau:
- Tab Details:
- Domain Names: Nhập tên miền phụ của bạn (ví dụ:
tele.dpsmedia.vn). - Scheme: Chọn
http. - Forward Hostname / IP: Điền IP gateway mặc định của Docker
172.17.0.1(hoặc IP công cộng của VPS mới103.72.96.YY). Cấu hình chuyển hướng cho phép chuyển server Telegram Bot hoạt động trơn tru mà không gặp trở ngại về định tuyến mạng Docker. - Forward Port: Điền
8081. - Websockets Support: Kích hoạt (gạt switch sang ON).
- Domain Names: Nhập tên miền phụ của bạn (ví dụ:
- Tab SSL:
- SSL Certificate: Chọn Request a new SSL Certificate từ Let’s Encrypt để mã hóa bảo mật.
- Force SSL: Kích hoạt để tự động chuyển hướng mọi yêu cầu HTTP sang HTTPS. SSL là bắt buộc đối với việc chuyển server Telegram Bot hoạt động ổn định vì Telegram chỉ chấp nhận kết nối HTTPS cho webhook.
- HTTP/2 Support và HSTS Enabled: Kích hoạt cả hai để tăng tốc độ truyền tải và nâng cao hàng rào bảo mật.
- Tab Advanced:
- Nhập đoạn cấu hình Nginx sau để tăng giới hạn kích thước tệp tải lên và ngăn chặn lỗi hết thời gian chờ (timeout) khi bot xử lý tệp dung lượng lớn (mặc định Nginx chỉ cho phép tải lên file dưới 1MB):
client_max_body_size 2000M; proxy_read_timeout 600s; proxy_send_timeout 600s;
- Nhập đoạn cấu hình Nginx sau để tăng giới hạn kích thước tệp tải lên và ngăn chặn lỗi hết thời gian chờ (timeout) khi bot xử lý tệp dung lượng lớn (mặc định Nginx chỉ cho phép tải lên file dưới 1MB):
Lưu cấu hình lại. Nginx Proxy Manager sẽ tự động thực hiện quá trình xác thực với Let’s Encrypt để cấp chứng chỉ SSL mới cho tên miền của bạn.
Bước 3: Cập nhật DNS và kiểm tra SSL
Cập nhật DNS để hoàn thành việc chuyển server Telegram Bot là bước tối quan trọng để định tuyến lại toàn bộ webhook của Telegram từ máy chủ cũ sang máy chủ mới. Sau khi chuyển server Telegram Bot, cập nhật A-record của tên miền để trỏ về địa chỉ IP của VPS mới.
Hãy truy cập vào trình quản lý tên miền của bạn (ví dụ: Cloudflare, Google Domains hoặc nhà cung cấp tên miền tại Việt Nam) và chỉnh sửa bản ghi hiện tại:
- Loại bản ghi (Type):
A - Tên (Name):
tele(hoặc subdomain tương ứng của bạn) - Địa chỉ IPv4 (Value):
103.72.96.YY(IP của VPS mới, đã ẩn thông tin bảo mật) - TTL: Đặt thời gian ngắn nhất (ví dụ: 2 phút hoặc Auto) để bản ghi lan truyền nhanh hơn trên internet.
Sau khi lưu bản ghi DNS mới, hãy chờ khoảng 5-10 phút để DNS cập nhật hoàn toàn. Đây là một phần bắt buộc trong quy trình học cách chuyển server Telegram Bot mà bất kỳ lập trình viên nào cũng cần nắm vững.
Bước 4: Cấu hình Cron Job dọn dẹp bộ nhớ tạm
Dọn dẹp ổ cứng là phần không thể thiếu khi chuyển server Telegram Bot chạy ở chế độ cục bộ (--local). Khi chạy ở chế độ này, tất cả các tệp tin hình ảnh, video, tài liệu được gửi qua bot sẽ được tải và lưu trữ trực tiếp trong thư mục tạm thời của VPS mới. Nếu không dọn dẹp thường xuyên, VPS của bạn sẽ nhanh chóng bị tràn dung lượng, dẫn đến treo toàn bộ hệ thống.
Thư mục temp của việc chuyển server Telegram Bot nằm tại /var/lib/telegram-bot-api-tmp cần được giám sát chặt chẽ. Hãy mở crontab của tài khoản root trên VPS mới:
sudo crontab -e
Thêm hai dòng lệnh sau vào cuối file để thiết lập lịch dọn dẹp tự động hàng giờ:
0 * * * * find /var/lib/telegram-bot-api-tmp -type f -mtime +1 -delete
0 * * * * find /var/lib/telegram-bot-api-tmp -type f -size +100M -delete
Lệnh trên sẽ tự động tìm kiếm và xóa bỏ mọi tệp tin tạm cũ hơn 1 ngày, hoặc các tệp tin có dung lượng lớn hơn 100MB để giải phóng không gian lưu trữ cho VPS.
Kiểm tra và kiểm thử hoạt động sau khi di chuyển
Kiểm tra hoạt động là bước cuối cùng của việc chuyển server Telegram Bot nhằm đảm bảo rằng hệ thống đã hoàn toàn hoạt động bình thường trên hạ tầng mới. Từ máy tính cá nhân hoặc từ một máy chủ khác, hãy chạy lệnh curl để kiểm tra phản hồi từ tên miền của bạn:
curl -i https://tele.yourdomain.com/
Nếu kết nối HTTPS thành công và Nginx Proxy Manager hoạt động chính xác, bạn sẽ nhận được phản hồi lỗi 404 định dạng JSON từ chính máy chủ Telegram Bot API như sau:
HTTP/1.1 404 Not Found
Server: openresty
Content-Type: application/json
Content-Length: 55
Connection: keep-alive
{"ok":false,"error_code":404,"description":"Not Found"}
Nếu curl thành công, tiến trình chuyển server Telegram Bot đã hoàn tất. Bạn có thể yên tâm dừng dịch vụ cũ sau khi chuyển server Telegram Bot đã chạy ổn định trên môi trường mới trong vòng 24 giờ. Hãy truy cập VPS cũ và chạy các lệnh dừng dịch vụ để giải phóng tài nguyên:
sudo systemctl stop telegram-bot-api
sudo systemctl disable telegram-bot-api

Kết luận và giải pháp tối ưu hệ thống từ DPS.MEDIA
Tóm lại, việc chuyển server Telegram Bot đòi hỏi sự cẩn thiện và thực hiện đúng trình tự từ việc di chuyển mã nguồn, cấu hình reverse proxy cho đến thiết lập dọn dẹp hệ thống định kỳ. Việc hiểu rõ quy trình này giúp các nhà phát triển tự tin quản trị hạ tầng ứng dụng của mình mà không lo ngại sự cố gián đoạn kết nối.
Nếu doanh nghiệp của bạn đang cần xây dựng hệ thống bot chăm sóc khách hàng tự động, tích hợp AI hoặc tối ưu hóa hạ tầng Cloud VPS chuyên nghiệp, hãy liên hệ ngay với chúng tôi. DPS.MEDIA tự hào mang đến các giải pháp tối ưu công nghệ toàn diện giúp doanh nghiệp của bạn vận hành hiệu quả nhất. Hãy tham khảo thêm thông tin tại trang chủ của chúng tôi để cập nhật các giải pháp mới nhất về hệ thống công nghệ thông tin và DPS.MEDIA 的 SEO 优化服务.
Chúng tôi hy vọng bài viết hướng dẫn chuyển server Telegram Bot này sẽ giúp bạn thực hiện di chuyển hệ thống thành công và an toàn. Để tìm hiểu sâu hơn về cấu hình ứng dụng và các phương thức tương tác, bạn có thể tham khảo thêm tài liệu API chính thức của Telegram.
Bản quyền bài viết thuộc về DPS.MEDIA JSC.
Ý kiến bạn đọc (8)
Đăng nhập để bình luận
Đăng nhập nhanh 1-chạm bằng Google để chia sẻ ý kiến của bạn về bài viết.
Bằng cách đăng nhập, bạn đồng ý với điều khoản và chính sách cộng đồng.
Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ cảm nghĩ!
Đăng nhập / Tạo tài khoản
Đăng nhập với Google để gửi bình luận và tương tác cùng cộng đồng.
Tiếp tục là đồng ý với điều khoản sử dụng và chính sách bảo mật của DPS Media.