아마존 EC2에서 셀레니움 작업을 하기 위해서는
서버에 크롬드라이버 및 구글 크롬 브라우저를 설치
해줘야 한다. 파이썬으로 셀레니움을 아마존 EC2에서
돌려보자.
아래 명령어를 실행하는 기본 디렉토리는 /tmp/에서
진행했다.
구글 크롬 설치
구글 크롬을 먼저 설치해준다.
$ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
$ sudo apt-get update
$ sudo apt-get install google-chrome-stable
$ google-chrome – version && which google-chrome
1. wget을 사용해서 구글 크롬 바이너리를 다운로드 한다.
2. google.list에 위 명령어를 옮겨 저장한다.
3. apt-get 업데이트를 진행한다.
4. google-chrome-stable 설치해준다.
5. google-chrome 버전을 확인한다.
크롬드라이버 설치
$ cd /tmp/
$ sudo wget https://chromedriver.storage.googleapis.com/80.0.3987.106(본인 버전)/chromedriver_linux64.zip
$ sudo unzip chromedriver_linux64.zip
$ sudo mv chromedriver /usr/bin/chromedriver
$ chromedriver – version
1. ROOT 계정의 tmp 파일로 이동한다.
2. wget을 사용해서, 크롬 드라이버를 다운한다.
https://chromedriver.chromium.org/downloads
위 사이트에서 본인 구글크롬 버전과 동일한 크롬드라이버를
선택해서 다운로드한다.
3. 크롬 드라이버 압축을 풀어준다.
4. 크롬 드라이버를 usr/bin/ 디렉토리로 이동한다.
5. 크롬 드라이버 버젼을 확인한다.
셀레니움 실행
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")
driver = webdriver.Chrome('/usr/bin/chromedriver', chrome_options=options) # 크롬 웹 드라이버
이제 정상적으로 AWS에서 셀레니움 모듈을 돌리게 되었다.
한가지 남은 문제는 AWS 서버에서 돌리는 셀레니움은 관계
없지만, 주기적으로 RDS에 데이터를 쌓아넣는 셀레니움의 경우는
메인 서버에서 돌리는 것 보다 AWS 람다에서 돌리는게 더
맞는 로직이다.
서버 최적화란 결국 서버를 최소단위로 계속 나누는 과정이고,
이 과정에서 등장한 것이 마이크로서비스의 개념이다.
2022.01.14 - [Web Development] - Django AWS 배포하기 1
2022.01.15 - [Web Development] - Django AWS 배포하기 2
2022.01.15 - [Web Development] - Django AWS 배포하기 3
2022.01.16 - [Web Development] - Django AWS 배포하기 4
'Programming' 카테고리의 다른 글
웹 애플리케이션에 SSL 무료발급 하는 방법 및 Nginx 서버에 적용하는 방법 Nginx , AWS 서버 구성 (0) | 2022.01.18 |
---|---|
AWS 서버에서 Crontab 작업하는 방법 ubuntu crontab scheduler 사용 (0) | 2022.01.18 |
python 코드 20줄로 AWS S3 버킷에 이미지 업로드 하기 (0) | 2022.01.18 |
웹 애플리케이션 서버 생성 및 배포하기 Nginx uWSGI unix socket django python AWS ubuntu server (0) | 2022.01.17 |
Django AWS 배포하기 4 (0) | 2022.01.16 |
Django AWS 배포하기 3 (0) | 2022.01.15 |
댓글