You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在云服务器部署Python Telegram Bot?(不使用Heroku类服务)

部署python-telegram-bot机器人到云服务器/虚拟主机步骤

一、服务器基础准备

  • 选择支持SSH登录的云服务器(如阿里云、腾讯云ECS)或虚拟主机,优先选Ubuntu/Debian系统(命令通用性强)。
  • 通过SSH连接服务器:ssh 用户名@服务器公网IP,使用密码或密钥完成登录。

二、配置Python环境

  1. 更新系统软件包

    • Ubuntu/Debian:sudo apt update && sudo apt upgrade -y
    • CentOS/RHEL:sudo yum update -y
  2. 安装Python3和pip

    • Ubuntu/Debian:sudo apt install python3 python3-pip -y
    • CentOS/RHEL:sudo yum install python3 python3-pip -y
  3. 安装指定版本的python-telegram-bot
    执行命令安装v20.0a2版本:

    pip3 install python-telegram-bot==20.0a2
    

    若需要环境变量管理工具,可额外安装:pip3 install python-dotenv

三、部署机器人代码

  1. 上传代码到服务器

    • 方式1:用SCP直接传输本地代码:
      scp /本地代码路径/your_bot.py 用户名@服务器IP:/服务器目标路径/
      
    • 方式2:通过Git拉取代码(需先将代码上传到GitHub/GitLab):
      git clone 你的代码仓库地址
      
  2. 配置机器人Token

    • 推荐用.env文件存储Token(避免硬编码泄露):在代码目录创建.env文件,写入:
      TELEGRAM_BOT_TOKEN=你的机器人Token
      
    • 在代码中读取Token(需已安装python-dotenv):
      from dotenv import load_dotenv
      import os
      
      load_dotenv()
      TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")
      
  3. 测试运行
    进入代码目录,执行启动命令:

    python3 your_bot.py
    

    测试机器人能否正常响应消息,确认无报错后再进行后台部署。

四、后台运行与开机自启

方式1:用nohup临时后台运行(适合快速测试)

执行命令让进程在后台运行,日志输出到bot.log:

nohup python3 your_bot.py > bot.log 2>&1 &
  • 查看进程:ps aux | grep python3
  • 停止进程:kill 进程ID

方式2:用systemd管理(生产环境推荐,稳定可靠)

  1. 创建systemd服务文件:
    sudo nano /etc/systemd/system/telegram-bot.service
    
  2. 写入以下内容(替换路径和用户信息):
    [Unit]
    Description=Telegram Bot Service
    After=network.target
    
    [Service]
    User=botuser  # 建议用普通用户,而非root,可先创建:sudo adduser botuser
    WorkingDirectory=/home/botuser/your-bot-code  # 代码所在目录
    ExecStart=/usr/bin/python3 /home/botuser/your-bot-code/your_bot.py  # 代码文件路径
    Restart=always  # 进程崩溃自动重启
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target
    
  3. 保存并退出(nano中按Ctrl+O回车,再按Ctrl+X)
  4. 启动服务并设置开机自启:
    sudo systemctl start telegram-bot
    sudo systemctl enable telegram-bot
    
  5. 查看服务状态与日志:
    • 状态:sudo systemctl status telegram-bot
    • 实时日志:sudo journalctl -u telegram-bot -f

五、日常维护

  • 更新代码:修改代码后上传到服务器,执行sudo systemctl restart telegram-bot重启服务。
  • 日志监控:定期查看日志文件或journalctl输出,排查运行异常。
  • 安全建议:使用普通用户运行机器人,定期更新系统和依赖包;若使用Webhook模式,需配置SSL证书确保通信安全。

内容的提问来源于stack exchange,提问作者AhmadRezaMozafari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:16:22