跳转至

📖 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 控制台操作:

  1. 登录 Cloudflare 控制台
  2. 访问:https://dash.cloudflare.com/
  3. 选择您的域名

  4. 添加 DNS 记录

    类型:A
    名称:liaotian(或您想要的子域名)
    IPv4 地址:您的 VPS IP 地址
    代理状态:已代理(橙色云朵图标)
    TTL:自动
    

  5. 等待 DNS 生效

  6. 通常需要几分钟到几小时
  7. 可以使用 ping liaotian.yourdomain.com 测试

💻 第二步:VPS 安装机器人

1. 连接到 VPS

# 使用 SSH 连接到您的 VPS
ssh root@您的VPS_IP地址

2. 创建安装脚本

# 创建安装脚本文件
nano s.sh

3. 复制安装脚本内容

  • 打开本地的 vps安装.sh 文件
  • 复制全部内容(Ctrl+A 全选,Ctrl+C 复制)
  • 在 VPS 的 nano 编辑器中粘贴(Ctrl+Shift+V 或右键粘贴)

4. 保存并退出

# 在 nano 编辑器中:
# 1. 按 Ctrl+O 保存
# 2. 按 Enter 确认文件名
# 3. 按 Ctrl+X 退出编辑器

5. 给脚本添加执行权限

# 添加执行权限
chmod +x s.sh

6. 运行安装脚本

# 执行自动化安装
./s.sh

⏳ 第三步:等待自动安装

安装过程包括:

  1. 🔍 环境检查 - 检测系统权限和操作系统
  2. 👤 用户创建 - 创建 yuebantgbot 用户并设置密码
  3. 📦 系统更新 - 更新系统包和安装依赖工具
  4. 🔧 Go 环境 - 安装 Go 1.21.5 开发环境
  5. 📁 项目初始化 - 创建项目目录和 Go 模块
  6. 🤖 机器人代码 - 创建基础的 Telegram Bot 程序
  7. 🌐 Nginx 配置 - 配置反向代理服务器
  8. ⚙️ 系统服务 - 配置 systemd 自启动服务
  9. 🔗 Webhook 设置 - 配置 Telegram Webhook
  10. 📝 更新脚本 - 生成维护和更新脚本
  11. 自动检测 - 验证所有配置是否正确

预计安装时间:

  • 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

测试机器人

  1. 在 Telegram 中找到您的 Bot
  2. 发送任意消息
  3. 机器人应该回复: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 解析问题

# 检查域名解析
ping liaotian.yourdomain.com
nslookup liaotian.yourdomain.com

2. 服务启动失败

# 查看详细错误日志
sudo journalctl -u tg-bot.service -n 50

# 检查端口占用
sudo netstat -tlnp | grep :8080

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

🔒 安全注意事项

  1. 定期更新系统

    sudo apt update && sudo apt upgrade -y
    

  2. 备份重要配置

    # 备份机器人代码
    cp /home/yuebantgbot/projects/tg-bot/main.go ~/main.go.backup
    

  3. 监控服务状态

  4. 定期检查服务是否正常运行
  5. 监控日志中的异常信息

🎊 完成!

恭喜!您已经成功在 VPS 上部署了 Telegram Bot。现在您可以:

  • ✅ 修改 main.go 文件来定制机器人功能
  • ✅ 使用 update-bot.sh 脚本来更新机器人
  • ✅ 通过 Cloudflare 享受 CDN 加速和 DDoS 防护
  • ✅ 24/7 不间断运行您的 Telegram Bot

💡 提示: 如有问题,请检查日志文件或重新运行安装脚本。