npm 如何在Ubuntu Server上以根用户身份运行节点Puppeteer应用程序

huus2vyu  于 2023-03-12  发布在  其他
关注(0)|答案(3)|浏览(149)

我试图运行节点应用程序,使用npm包Puppeteer刮网站,使用VPS,使用根作为默认用户我登录。
从来都不管用。我总是要花半个小时在谷歌上搜索才能找到解决办法...好吧,再也不用了。

z2acfund

z2acfund1#

请执行以下操作:

0.运行sudo apt update
1.安装libx内容

sudo apt-get install libpangocairo-1.0-0 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libgconf2-4 libasound2 libatk1.0-0 libgtk-3-0

2.在Puppeteer应用的launch()部分设置--no-sandbox参数(仅当您以root/root的cron身份运行时才需要)

const browser = await puppeteer.launch({headless: true, args: ['--no-sandbox']})

E:正如Niko指出的,--no-sandbox会让你的服务器受到来自scraper访问的网站的恶意攻击。看起来其他地方有一些SO问题发布了实施起来并不可怕的替代方案。我喜欢大卫的答案here,这似乎表明即使在2021年,--no-sandbox在某些情况下仍然是一个必要的邪恶。
E2:请参见下面的答案。看起来在2021年我们还必须安装libgbm-dev

exdqitrt

exdqitrt2#

通过SSH连接到服务器:

1.打开终端
1.类型:ssh根@[服务器IP]
1.如果这是您第一次连接到服务器,您将得到一个安全提示。请键入“yes”
1.请输入密码:[密码]
1.现在,您应已连接到服务器

安装应用程序:

sudo apt-get更新
sudo apt-获取安装-y libgbm-dev
安装-y gconf-服务库声音2库1.0 -0库6库开罗2库杯2库数据总线-1-3库表达式1库字体配置1库gcc 1库配置-2-4库gdk-像素缓冲区2.0 -0库gdk-3-0库nspr 4库pango-1.0 - 0库pangocairo-1.0 - 0库标准数据库++6库x11 -6库x11-xcb 1库xcb 1库xcomposite 1库xcursor 1库xdamage 1库xext 6库xfixes 3库xi 6库xrandr 2库xrender 1库xss 1库xtst 6 ca证书字体释放库应用程序指示符1库ns 3 lsb版本xdg实用程序wget
sudo apt安装 curl
curl 度-sL https://deb.nodesource.com/setup_14.x|sudo -E bash -
sudo apt安装节点js
sudo apt安装git
git config --全球user.name“您的名字”
git config --全球user.email“您的电子邮件”
git clone“你的项目git url”
cd“您的项目文件夹”
国家预防机制一
npm启动
如果你需要在一个VPS服务器上运行多个应用程序-谷歌工具“屏幕”

xuo3flqw

xuo3flqw3#

在我安装了libgbm之后,一切都很好!希望能帮到你

sudo apt-get update
    sudo apt-get install -y libgbm-dev

相关问题