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

如何部署基于Nodemailer与node-cron的网页爬虫实现离线运行?

解决方案:部署Node.js定时邮件爬虫到VPS

一、为什么选VPS?

完全适配你的需求:VPS是24/7持续运行的远程服务器,不受本地电脑关机限制,基础配置(1核1G内存)就能轻松承载你的Node.js爬虫、node-cron定时任务及Nodemailer邮件推送,成本也很低廉。

二、具体部署步骤

1. 选择并购买VPS

优先选搭载Ubuntu 20.04/22.04的VPS,这是Node.js应用最常用的运行环境,后续配置更省心。

2. 连接VPS

用SSH工具(本地终端、Putty等)连接到VPS,命令格式:
ssh root@你的VPS公网IP
首次连接按提示完成身份验证,建议配置密钥登录替代密码,提升安全性。

3. 在VPS上配置Node.js环境

  • 更新系统包:
    sudo apt update && sudo apt upgrade -y
  • 安装Node.js和npm(以18.x版本为例):
    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
  • 验证安装成功:
    node -v && npm -v

4. 上传应用代码到VPS

两种常用方式:

  • Git克隆:若代码存于GitHub/GitLab仓库,直接在VPS执行:
    git clone 你的代码仓库地址
  • SCP传输:本地终端执行,将本地代码文件夹传到VPS:
    scp -r 本地代码文件夹路径 root@你的VPS公网IP:/目标路径

5. 安装依赖并测试运行

  • 进入应用目录:
    cd 你的应用文件夹
  • 安装项目依赖:
    npm install
  • 手动启动应用测试,确认能正常爬取数据并发送邮件:
    node app.js(替换为你的应用入口文件名)

6. 配置进程管理工具,确保应用持续运行

直接用node app.js启动的话,SSH断开后进程会终止,需用进程管理工具守护:

  • 安装PM2(主流Node.js进程管理器):
    npm install pm2 -g
  • 用PM2启动应用:
    pm2 start app.js --name "course-reminder"(course-reminder为自定义进程名,方便管理)
  • 设置PM2开机自启:
    pm2 startup
    执行命令后会输出一串配置指令,复制执行即可完成开机自启设置。
  • 常用PM2命令:
    • 查看进程状态:pm2 status
    • 查看应用日志:pm2 logs course-reminder
    • 重启应用进程:pm2 restart course-reminder

7. 配置防火墙(可选但推荐)

确保VPS防火墙允许必要的网络请求:

  • 查看防火墙状态:sudo ufw status
  • 允许SSH连接(防止被锁在外):sudo ufw allow ssh
  • 若应用有对外接口,允许对应端口:sudo ufw allow 3000(替换为你的应用端口)
  • 启用防火墙:sudo ufw enable

三、额外注意事项

  • 邮件发送限制:部分VPS默认封禁25端口,建议用Nodemailer配置第三方SMTP服务(如QQ邮箱、Gmail),使用465/587端口发送邮件,避免投递失败。
  • 定时任务验证:部署后可临时修改node-cron的定时规则(比如设置1分钟后发送测试邮件),确认定时功能正常。
  • 数据备份:若应用有本地存储的课程数据,定期备份到VPS其他目录或本地设备。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 21:23:15