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

如何借助GCP实现Python脚本24/7不间断运行

适合24/7运行Python Bot的GCP方案及部署步骤

一、优先推荐的GCP产品(按成本/复杂度排序)

1. Cloud Run(最适合轻量Bot)

  • 特点:无服务器架构,按实际运行资源计费,可配置最小实例数保证24/7在线,空闲时不会额外消耗资源,免费额度足够支撑简单Bot长期运行。
  • 适用场景:你的轻量Python Bot,无特殊环境依赖、不需要持续占用大量内存的情况。

2. Compute Engine(VM虚拟机,最灵活)

  • 特点:完全可控的虚拟机环境,可自定义系统配置、开机自启规则,适合需要后台常驻、依赖特定运行环境的Bot。
  • 适用场景:Bot需要持续运行、涉及自定义系统设置或本地缓存的情况。

3. Cloud Functions(不推荐24/7常驻)

  • 注意:该服务为事件驱动型,虽可通过定时触发器模拟运行,但无法实现真正的24/7常驻,不适合你的需求。

二、具体部署步骤

方案1:Cloud Run部署

  1. 准备代码与Docker镜像

    • 编写Dockerfile(适配你的Bot):
      # 基础Python镜像
      FROM python:3.9-slim
      # 设置工作目录
      WORKDIR /app
      # 复制依赖清单
      COPY requirements.txt .
      # 安装依赖(避免缓存冗余)
      RUN pip install --no-cache-dir -r requirements.txt
      # 复制Bot代码
      COPY bot.py .
      # 启动命令
      CMD ["python", "bot.py"]
      
    • 确保requirements.txt包含Bot所有依赖包。
  2. 构建并推送镜像到GCR

    • 安装GCP SDK后登录:gcloud auth login
    • 绑定你的GCP项目:gcloud config set project 你的项目ID
    • 构建并推送镜像:gcloud builds submit --tag gcr.io/你的项目ID/python-bot
  3. 部署到Cloud Run

    • 执行部署命令(保证24/7在线需设置最小实例数):
      gcloud run deploy python-bot \
        --image gcr.io/你的项目ID/python-bot \
        --platform managed \
        --region us-central1 \
        --allow-unauthenticated \
        --min-instances 1
      
    • 说明:--min-instances 1确保始终有一个实例运行,不会因空闲休眠。

方案2:Compute Engine部署

  1. 创建VM实例

    • 登录GCP控制台,进入Compute Engine→实例→创建实例
    • 配置选择:免费层级的e2-micro实例(每月750小时免费额度),操作系统选Ubuntu 22.04 LTS,勾选允许HTTP/HTTPS流量(若Bot需对外访问)
  2. 配置Bot运行环境

    • 通过SSH连接VM:gcloud compute ssh 你的实例名 --zone us-central1-a
    • 安装Python及依赖:
      sudo apt update && sudo apt install python3-pip -y
      pip3 install --user -r requirements.txt
      
    • 上传Bot代码(用scp或Git克隆到VM指定目录)
  3. 设置开机自启与后台守护

    • 创建systemd服务文件/etc/systemd/system/python-bot.service:
      [Unit]
      Description=Python Bot 守护服务
      After=network.target
      
      [Service]
      User=你的VM用户名
      WorkingDirectory=/home/你的VM用户名/bot目录
      ExecStart=/usr/bin/python3 /home/你的VM用户名/bot目录/bot.py
      Restart=always  # Bot崩溃自动重启
      
      [Install]
      WantedBy=multi-user.target
      
    • 启动并启用服务:
      sudo systemctl daemon-reload
      sudo systemctl start python-bot
      sudo systemctl enable python-bot
      
    • 查看运行状态:sudo systemctl status python-bot

三、成本注意事项

  • Cloud Run:免费额度包含每月180,000 vCPU秒、360,000 GiB秒,简单Bot基本无需付费。
  • Compute Engine:e2-micro实例在免费额度内(单实例每月750小时),超出后按小时计费,成本极低。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 02:06:52