[Node.js] Aws Ec2(Ubuntu)에 puppeteer 세팅 및 Xvfb를 통해 headless: False 실행

김지엽·2024년 5월 26일
0
post-thumbnail
post-custom-banner

AWS EC2 Ubuntu 환경에서 Puppeteer 설정 및 실행하기

1. 시스템 업데이트

먼저 시스템을 업데이트합니다.

sudo apt update
sudo apt upgrade -y

2. 필수 패키지 설치

기본 패키지들을 설치합니다.

sudo apt install -y build-essential libssl-dev wget curl gnupg2 ca-certificates lsb-release apt-transport-https software-properties-common

3. nvm 설치

nvm을 설치합니다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

설치가 완료되면 nvm을 사용할 수 있도록 환경 변수를 설정합니다. 터미널 세션을 새로 고치거나 아래 명령어를 실행하세요.

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

4. Node.js 설치

nvm을 통해 Node.js의 안정화된 최신 버전을 설치합니다.

nvm install --lts
nvm use --lts

5. Node.js 및 npm 버전 확인

Node.js와 npm이 정상적으로 설치되었는지 확인합니다.

node -v
npm -v

6. Xvfb 설치

Xvfb를 설치합니다.

sudo apt install -y xvfb

7. Chromium 및 추가 라이브러리 설치

다음 명령어로 필요한 라이브러리들을 포함하여 Chromium을 설치합니다.

sudo apt install -y chromium-browser
sudo apt install -y libatk1.0-0 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc-s1 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release xdg-utils wget libatk-bridge2.0-0 libcups2 libxcomposite1 libxdamage1 libgbm1

8. chronium 라이브러리 오류 해결

버전이 또는 os에 따라 chronium의 라이브러리가 오류를 발생시키는 경우가 있다.

libasound2
libatk-1.0.so.0
libatk-bridge-2.0.so.0
libcups.so.2
libXcomposite.so.1
libXdamage.so.1
libgbm.so.1
libpango-1.0.so.0
libcairo.so.2
undefined symbol: snd_device_name_get_hint, version ALSA_0.9

위와 같은 라이브러리가 설치 오류를 발생시키면 아래의 설치를 통해 해결할 수 있다.

sudo apt install -y liboss4-salsa-asound2
sudo apt install -y libatk1.0-0
sudo apt install -y libatk-bridge2.0-0
sudo apt install -y libcups2
sudo apt install -y libxcomposite1
sudo apt install -y libxdamage1
sudo apt install -y libgbm1
sudo apt install -y libpango-1.0-0
sudo apt install -y libcairo2
sudo apt-get install -y libatopology2
profile
욕심 많은 개발자
post-custom-banner

0개의 댓글