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

Bitnami Ubuntu Lightsail服务器中Puppeteer启动失败问题求助

Puppeteer在Bitnami Ubuntu Lightsail服务器启动失败的解决方案

1. 补充Chrome运行依赖

Bitnami环境默认缺少Chrome运行必需的系统库,执行以下命令安装:

sudo apt-get update
sudo apt-get install -y libnss3 libatk-bridge2.0-0 libdrm-dev libxkbcommon-dev libgbm-dev libasound-dev libatspi2.0-0 libxshmfence-dev

2. 优化Puppeteer启动参数

在现有参数基础上添加适配服务器环境的配置,避免连接重置和进程启动失败:

const browser = await puppeteer.launch({
  args: [
    '--no-sandbox',
    '--disable-setuid-sandbox',
    '--disable-dev-shm-usage',
    '--disable-gpu',
    '--no-zygote',
    '--single-process'
  ],
  headless: 'new'
});
  • --disable-setuid-sandbox:配合无沙箱模式规避权限限制
  • --disable-dev-shm-usage:解决服务器临时内存空间不足问题
  • --disable-gpu:服务器无GPU硬件,禁用GPU加速减少报错
  • --no-zygote/--single-process:简化进程模型,降低连接中断概率

3. 修复Chrome缓存目录权限

检查Puppeteer自动下载的Chrome权限,确保Bitnami用户有执行权限:

sudo chmod -R 755 /home/bitnami/.cache/puppeteer/chrome/linux-1108766/

4. 切换为系统安装的Chrome(备选方案)

如果缓存目录的Chrome始终无法正常运行,改用系统级安装的Chromium:
先安装Chromium:

sudo apt-get install -y chromium-browser

然后在代码中指定可执行文件路径:

const browser = await puppeteer.launch({
  args: ['--no-sandbox', '--disable-setuid-sandbox'],
  headless: 'new',
  executablePath: '/usr/bin/chromium-browser'
});

5. 验证Node.js版本兼容性

确保Node.js版本与Puppeteer版本匹配,建议使用18.x或20.x LTS版本。运行node -v查看当前版本,版本过低则执行升级:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:22:52