如何让自制网页更新Bot在电脑关机后仍持续运行?
解决Bot关机后停止运行的方案
要让Bot脱离本地电脑持续运行,核心是把它部署到云端环境,以下是几种实用的实现方式:
1. 云服务器部署
这是最灵活的方案,适合需要持续运行的Bot:
- 购买一台基础云服务器(轻量应用服务器即可),选择Ubuntu或CentOS等Linux系统
- 通过SSH连接到服务器,用
scp命令将本地Bot代码上传到服务器:scp /本地Bot代码路径/bot.py 服务器用户名@服务器IP:/服务器存储路径/ - 在服务器上安装Bot依赖的运行环境(比如Python)和相关库,若有
requirements.txt,执行:pip install -r requirements.txt - 让Bot后台持续运行:
- 临时方案:用
nohup命令启动,关闭SSH连接后进程仍会运行:nohup python bot.py & - 持久化方案:用
systemd配置守护进程,实现开机自启和意外崩溃后自动重启:- 创建服务配置文件
/etc/systemd/system/bot.service,内容如下:[Unit] Description=My News Crawler Bot After=network.target [Service] User=你的服务器用户名 WorkingDirectory=/Bot代码所在的服务器目录 ExecStart=/usr/bin/python bot.py Restart=always [Install] WantedBy=multi-user.target - 执行以下命令生效:
systemctl daemon-reload systemctl start bot systemctl enable bot
- 创建服务配置文件
- 临时方案:用
2. 无服务器函数(Serverless)部署
如果你的Bot是定时执行任务(比如每隔几小时爬一次资讯),不用一直占用资源,推荐这种方案:
- 将Bot的核心爬取、处理逻辑封装成独立函数(比如Python函数),去掉持续运行的循环,改成单次执行逻辑
- 在云平台的无服务器函数服务中创建函数,上传代码并配置运行环境,安装所需依赖
- 设置定时触发器,指定执行间隔(比如每6小时触发一次),平台会自动调度资源执行任务,无需维护服务器
3. Docker容器化部署
把Bot打包成Docker镜像,可在任何支持Docker的环境快速运行:
- 编写
Dockerfile,示例如下:FROM python:3.9-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY bot.py . CMD ["python", "bot.py"] - 本地构建镜像:
docker build -t news-bot . - 把镜像上传到容器仓库,或者直接在云服务器上运行容器(后台运行):
docker run -d --name news-bot-container news-bot
内容的提问来源于stack exchange,提问作者theThickProgrammer
相关产品推荐
相关产品推荐

