📖 VPS 安装 Telegram Bot 完整指南
🚀 快速开始
本指南将帮助您在 VPS 上自动安装和配置 Telegram Bot 环境,包括 Go 语言环境、Nginx 反向代理、systemd 服务等。
📋 准备工作
1. VPS 准备
- ✅ 已购买并获得 VPS(推荐 Ubuntu 22.04 LTS)
- ✅ 获得 VPS 的 root 权限
- ✅ 记录 VPS 的公网 IP 地址
2. 域名准备
- ✅ 已有域名并托管在 Cloudflare
- ✅ 域名已添加到 Cloudflare 管理面板
🌐 第一步:配置 Cloudflare DNS
在 Cloudflare 控制台操作:
- 登录 Cloudflare 控制台
- 访问:https://dash.cloudflare.com/
-
选择您的域名
-
添加 DNS 记录
-
等待 DNS 生效
- 通常需要几分钟到几小时
- 可以使用
ping liaotian.yourdomain.com测试
💻 第二步:VPS 安装机器人
1. 连接到 VPS
2. 创建安装脚本
3. 复制安装脚本内容
- 打开本地的
vps安装.sh文件 - 复制全部内容(Ctrl+A 全选,Ctrl+C 复制)
- 在 VPS 的 nano 编辑器中粘贴(Ctrl+Shift+V 或右键粘贴)
4. 保存并退出
5. 给脚本添加执行权限
6. 运行安装脚本
⏳ 第三步:等待自动安装
安装过程包括:
- 🔍 环境检查 - 检测系统权限和操作系统
- 👤 用户创建 - 创建
yuebantgbot用户并设置密码 - 📦 系统更新 - 更新系统包和安装依赖工具
- 🔧 Go 环境 - 安装 Go 1.21.5 开发环境
- 📁 项目初始化 - 创建项目目录和 Go 模块
- 🤖 机器人代码 - 创建基础的 Telegram Bot 程序
- 🌐 Nginx 配置 - 配置反向代理服务器
- ⚙️ 系统服务 - 配置 systemd 自启动服务
- 🔗 Webhook 设置 - 配置 Telegram Webhook
- 📝 更新脚本 - 生成维护和更新脚本
- ✅ 自动检测 - 验证所有配置是否正确
预计安装时间:
- 5-15 分钟(取决于网络速度和 VPS 性能)
🎯 第四步:验证安装
查看安装结果
安装完成后,脚本会显示:
🎉 Telegram Bot 安装完成!
📍 服务信息:
✅ Webhook URL: https://liaotian.yuebanshu.com/webhook
✅ Nginx 健康检查: https://liaotian.yuebanshu.com/health
✅ Bot 健康检查: https://liaotian.yuebanshu.com/bot-health
✅ 更新脚本: /home/yuebantgbot/projects/tg-bot/update-bot.sh
✅ 项目目录: /home/yuebantgbot/projects/tg-bot
✅ 运行用户: yuebantgbot
测试机器人
- 在 Telegram 中找到您的 Bot
- 发送任意消息
- 机器人应该回复:
Hello! I received your message: [您的消息]
🔧 日常维护
修改机器人代码
# 编辑机器人主程序
nano /home/yuebantgbot/projects/tg-bot/main.go
# 更新并重启机器人
sudo -u yuebantgbot /home/yuebantgbot/projects/tg-bot/update-bot.sh
# 密码:xiewei123
常用管理命令
# 查看服务状态
sudo systemctl status tg-bot.service
# 查看实时日志
sudo journalctl -u tg-bot.service -f
# 手动重启服务
sudo systemctl restart tg-bot.service
# 检查 Webhook 状态
curl -s https://api.telegram.org/bot8443891308:AAGmmlFlc8O8sgg0JXEHbzkpeEUQMkFAUho/getWebhookInfo | jq '.'
📂 重要文件位置
配置信息
- 用户名:
yuebantgbot - 密码:
xiewei123 - 项目目录:
/home/yuebantgbot/projects/tg-bot/
文件结构
/home/yuebantgbot/projects/tg-bot/
├── main.go # 🤖 机器人主程序(可修改)
├── go.mod # 📦 Go 模块配置
├── go.sum # 🔒 依赖版本锁定
├── bin/
│ └── tg-bot # 🔧 编译后的可执行文件
├── update-bot.sh # 🔄 更新脚本(不要修改)
└── update-and-restart.sh # 🔄 增强更新脚本(不要修改)
系统文件
- Nginx 配置:
/etc/nginx/sites-available/telegram-bot - 系统服务:
/etc/systemd/system/tg-bot.service - 免密配置:
/etc/sudoers.d/yuebantgbot-bot
🌐 Cloudflare 推荐配置
SSL/TLS 设置
- SSL/TLS 加密模式:Full 或 Full (strict)
- Always Use HTTPS:启用
- HTTP Strict Transport Security (HSTS):启用
性能优化
- Brotli:启用
- 缓存级别:标准
❌ 常见问题解决
1. DNS 解析问题
2. 服务启动失败
3. Webhook 设置失败
# 重新设置 Webhook
curl -X POST "https://api.telegram.org/bot您的BOT_TOKEN/setWebhook?url=https://您的域名/webhook"
4. 权限问题
# 重新设置文件权限
sudo chown -R yuebantgbot:yuebantgbot /home/yuebantgbot/projects/
sudo chmod +x /home/yuebantgbot/projects/tg-bot/update-bot.sh
🔒 安全注意事项
-
定期更新系统
-
备份重要配置
-
监控服务状态
- 定期检查服务是否正常运行
- 监控日志中的异常信息
🎊 完成!
恭喜!您已经成功在 VPS 上部署了 Telegram Bot。现在您可以:
- ✅ 修改
main.go文件来定制机器人功能 - ✅ 使用
update-bot.sh脚本来更新机器人 - ✅ 通过 Cloudflare 享受 CDN 加速和 DDoS 防护
- ✅ 24/7 不间断运行您的 Telegram Bot
💡 提示: 如有问题,请检查日志文件或重新运行安装脚本。