当前位置: 首页 > news >正文

服务器部署爬虫:Supervisor 进程守护

在服务器长期运行爬虫时,常会遇到程序意外崩溃、断连退出、后台挂起失效等问题,直接用 nohup 或 screen 管理不够规范、不够稳定。Supervisor 是 Linux 下轻量、可靠的进程守护工具,专门用来托管爬虫、服务、脚本等后台程序,实现自动重启、日志管理、统一管控。

一、Supervisor 是什么

Supervisor 是用 Python 开发的进程管理系统,核心作用:

  • 让程序在后台稳定运行
  • 程序崩溃自动重启
  • 集中管理启动、停止、重启、查看状态
  • 统一管理标准输出与错误日志非常适合爬虫、API 服务、定时任务等长期驻留进程。

二、安装 Supervisor

以 CentOS / Ubuntu 为例:

CentOS/RHEL

bash

运行

yum install -y epel-release yum install -y supervisor

Ubuntu/Debian

bash

运行

apt update apt install -y supervisor

安装完成后,启动并设置开机自启:

bash

运行

systemctl start supervisord systemctl enable supervisord

检查是否运行:

bash

运行

ps aux | grep supervisord

三、编写爬虫脚本(示例)

假设你的爬虫文件:/home/spider/main.py

python

运行

import time import datetime while True: print(f"[{datetime.datetime.now()}] 爬虫正在运行...") # 这里写你的爬取逻辑 time.sleep(10)

确保爬虫能直接在命令行正常运行

bash

运行

python3 /home/spider/main.py

四、配置 Supervisor 托管爬虫

Supervisor 配置目录通常为:

  • /etc/supervisord.d/

新建配置文件,建议以.ini结尾:

bash

运行

vim /etc/supervisord.d/spider.ini

写入如下配置(可直接复制修改路径使用):

ini

[program:spider] command=python3 /home/spider/main.py directory=/home/spider user=root autostart=true autorestart=true startretries=3 stdout_logfile=/var/log/spider.log stderr_logfile=/var/log/spider_err.log

配置说明

  • [program:spider]:进程名称,自定义
  • command:启动命令
  • directory:工作目录
  • autostart=true:服务器开机自动启动
  • autorestart=true:程序崩溃自动重启
  • stdout_logfile:正常日志
  • stderr_logfile:错误日志

五、更新配置并管理爬虫

  1. 重新加载配置

bash

运行

supervisorctl reread supervisorctl update
  1. 启动爬虫

bash

运行

supervisorctl start spider
  1. 查看状态

bash

运行

supervisorctl status
  1. 常用命令

bash

运行

supervisorctl stop spider # 停止 supervisorctl restart spider # 重启 supervisorctl reload # 重载所有配置

六、查看日志(排查爬虫问题)

实时查看爬虫日志:

bash

运行

tail -f /var/log/spider.log

查看错误日志:

bash

运行

tail -f /var/log/spider_err.log

日志能帮你快速定位:

  • 爬虫崩溃原因
  • 网络超时
  • 解析错误
  • 权限问题

七、为什么推荐 Supervisor 托管爬虫

  • 稳定:崩溃自动重启,避免爬一半中断
  • 统一管理:一台服务器可管理 N 个爬虫,互不干扰
  • 日志规范:方便排查线上问题
  • 轻量无依赖:比 systemd 更简单、比 screen 更专业
  • 适合长期运行:爬虫 7×24 小时稳定在线

八、常见问题

  1. 报错:spider: ERROR (spawn error)

    • 检查 Python 路径是否正确
    • 检查日志文件权限
    • 手动执行 command 命令看是否能运行
  2. 程序一直重启

    • 代码有异常,看 stderr 日志
    • 爬虫执行完就退出,不是死循环程序不适合托管
  3. 修改代码后不生效

    • 必须restart进程:

    bash

    运行

    supervisorctl restart spider

总结

服务器部署爬虫,Supervisor 是标配进程守护方案。只要三步:安装 → 写配置 → 启动托管,就能让爬虫稳定、安全、自动运行,彻底解决后台掉线、崩溃、无日志等问题。

http://www.jsqmd.com/news/481105/

相关文章:

  • 好用还专业!8个降AI率工具全领域适配测评与推荐
  • 国产智驾SoC全面突围:从低算力替代到高算力量产的技术跃迁
  • 数字化研发核心引擎:2026年主流需求管理软件竞争格局与趋势解析 - 品牌推荐
  • 汽车与机器人领域的“全脑”计算平台引领者
  • 第二部分 主体间性与DOS三值纠缠:关系哲学的双重维度
  • 第四部分 公共领域与星图舞台:多元协商的空间条件
  • 华为OD机考双机位C卷 - 打印机队列 (Java)
  • AtCoder Weekday Contest 0022 Beta题解(AWC 0022 Beta A-E)
  • 华为OD机考双机位C卷 - 执行任务赚积分 (Java)
  • 真空气密连接器好用品牌有哪些,低温气密性同轴连接器推荐 - 工业品网
  • 华为OD机考双机位C卷 - 挑选字符串 (Java)
  • 讲讲航拍无人机模拟器APP品牌,傲睿尔科技产品值得了解 - myqiye
  • 华为OD机考双机位C卷 - 挑选宝石 (Java)
  • 盘点2026年上海新房室内设计公司,铂空间设计排名靠前 - 工业品网
  • 探讨2026年浙江诚信的Geo优化机构,哪家服务更靠谱 - mypinpai
  • 聊聊宁波推荐手工西服定制哪家好,这些品牌值得关注 - myqiye
  • 基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
  • 2026年用户口碑实证:五大瀑布管理软件系统稳定性与服务对比推荐 - 品牌推荐
  • 2026年用户口碑实证:五大瀑布管理平台功能覆盖与稳定性全面对比 - 品牌推荐
  • 第三部分 商谈伦理与价值原语化:共识达成的两种路径
  • 2026年家用七座MPV购车指南:关注空间、能耗与安全的平衡之道 - 速递信息
  • 江苏设备钣金制造商哪家比较靠谱,常州布恩实力见证 - 工业推荐榜
  • 深度剖析巨宇科技GEO优化,其在行业口碑排名如何值得关注 - mypinpai
  • 2026年用户口碑领先的项目集管理工具推荐:五款系统实战效果全面对比 - 品牌推荐
  • 2026年浙江靠谱的数字孪生工厂系统软件公司推荐,哪家性价比高 - 工业设备
  • 靠谱的GEO优化企业推荐,性价比高的品牌有哪些? - 工业推荐榜
  • 探讨东莞GEO优化排名服务商费用,看哪家收费合理? - 工业品牌热点
  • NMN牌子怎么选?抗衰品牌推荐,W+端粒塔破解日本临床研究关键 - 速递信息
  • 2026年家用七座MPV选购指南:用“家庭场景价值”框架,找到你的理想座驾 - 速递信息
  • 2026年项目集管理系统权威榜单发布:五大平台技术实力与战略价值深度评测 - 品牌推荐