[AWS/EC2] aws ec2 linux puppeteer 설치 및 한글 폰트 적용하기

[AWS/EC2] aws ec2 linux puppeteer 설치 및 한글 폰트 적용하기

AWS EC2 에서 Node.js 를 통해 슬랙으로 운영 현황 데이터를 전송해야 하는 경우가 생겨 작업을 진행했었다.

처음엔 console-table , markdown-table 을 사용해 전달하려 했으나 모바일 앱에서 메세지가 깨지면서 내용을 정확하게 알기가 어렵다는 이슈가 생겼고, HTML을 작성해서 image 로 전달하고자 위와 같은 작업을 진행했고, AMI 를 생성하여 배포하였다.

사용 앱/라이브러리/서비스

nodejs v12.22

aws ec2 linux1

node-html-to-image (라이브러리 내의 puppeteer)

google-chrome-stable

위 4가지를 사용했고, 이 글에서는 html을 만들어 스크린샷을 생성하는 작업을 진행하고 ./local-chromium을 사용하면서 이슈가 생겨

google-chrome-stable 설치하고 다시 진행했을 때, 이미지로 변환 후 한글이 깨져 ec2-linux 폰트 설정한 내용을 기재한다.

명령어만 나열하고 포스팅을 마친다.

$ # 서버 시간대 설정 $ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime $ # google-chrome-stable 관련 설정 진행 $ curl https://intoli.com/install-google-chrome.sh | bash $ # 설치 후 스크린샷을 생성하여 확인 진행. $ google-chrome-stable --headless --disable-gpu --screenshot https://intoli.com/blog/installing-google-chrome-on-centos/ $ # 한글 폰트 설정 $ cd /usr/share/fonts $ sudo wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip $ sudo unzip ./NanumFont_TTF_ALL.zip $ sudo rm NanumFont_TTF_ALL.zip $ # font config 관련내용 $ # font cache 내용 갱신. $ sudo fc-cache -r $ # 아래는 추가적으로 필요한 경우에만 설정한다 $ # 서버 모든 유저에게 PUPPETEER_EXECUTABLE_PATH 생성해주기 위함 $ sudo vi /etc/profile $ export PUPPETEER_EXECUTABLE_PATH=/opt/google/chrome/google-chrome $ # vi 를 저장하고 빠져나와서 컴파일한다. $ source /etc/profile

from http://sys970717.tistory.com/18 by ccl(S) rewrite - 2021-09-03 11:26:34