이제 서버 작업을 해야 한다.

서버는 총 3대를 사용했다. AWS의 무료서버는 정말 성능이 낮아서, 스크래핑도 제대로 버티지 못한다 ㅠ

그래서 GCP에서 무료 크레딧으로 쓸 수 있는 그래도 2코어 4GB는 되는 서버를 사용했다.

 

서버 구조

 

- AWS 서버 : WEB 서버 (FLASK)

- GCP 서버 : 스크래핑 스크립트를 주기적으로 수행 (20분마다)

- 나스 도커 컨테이너 : mariadb

 

 

서버 설치 작업 (우분투 기준)

 

1. 파이썬 설치, pip 패키지 설치

 

# 파이썬 설치 : python 이라는 명령어로 3 버전 이상을 실행하도록 하는 명령어입니다.

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10

 

# pip3 설치

sudo apt-get update

sudo apt-get install -y python3-pip

sudo apt-get install python-pip

 

# 버전 확인

pip3 --version

 

# pip3 대신 pip 라고 입력하기 위한 명령어

# 아래 명령어를 입력하면 pip 라고 쳐도 pip3를 작동시킬 수 있습니다.

sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

 

 

2. 파이썬 패키지 설치

pip install selenium

pip install bs4

pip install re

pip install pymysql

pip install opengrapher

pip install datetime

pip install lxml

 

 

3. 크롬설치 (https://webnautes.tistory.com/1184 참고)

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 updatet

sudo apt-get install goole-chrome-stable

 

 

4. 서버 시간 변경 (KST로 변경)

sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

 

 

5. 포트포워딩 (접속시 :5000을 해줘야 하는데, 아예 안하도록 함)

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000

 

 

6. 크롬 드라이버 다운로드

- 검색해..ㅜㅜ

 

 

7. PYTHON 데이터 배치

- 웹페이지 : app.py

- 스크래핑 : SSP_main.py

 

 

8. 백그라운드에서 app.py 실행

nohup python app.py &

 

 

9. crontab으로 주기적으로 스크래핑 실행

00,20,40 * * * * python /home/ubuntu/uk_work/SSP/SSP_main.py

18,38,58 * * * * pkill chrome

+ Recent posts