서버 구축 및 배포

개요

앞으로의 프로젝트 개발을 위해 미리 테스트용 서버의 기반을 구축해 놓을 필요가 있다. AWS 또한 Ubuntu 기반이므로 Pure Ubuntu 워크스테이션에 본 프로젝트의 테스트 상용 서버를 구축 해 놓음으로써, 앞으로의 프로젝트 진행에서 구현된 API들을 즉각 테스트 서버에 업로드하여 작동 유/무 및 버그 등을 손쉽게 확인할 수 있다.

테스트용 서버에서 검증이 된 API들은 Github 보관소를 통하여 보관한다.

요구 사항

  • OS(Ubuntu), Backend(Python Flask), DB(Python Pymongo) 기반 구축

  • 상용 서버 (UWSGI + NGINX) 구축

OS(Ubuntu)

본 프로젝트의 최종 호스팅 서버는 AWS(Amazon Web Service)이다. AWS 또한 Ubuntu 기반이므로 SOOJLE 프로젝트 테스트 서버 또한 Ubuntu 기반 위에서 구현한다.

Ubuntu 워크스테이션 환경설정

  • 테스트용 Ubuntu 서버는 Ubuntu 18.04.3 LTS 버전을 설치.

  • Free OS이기 때문에 SOOJLE 서버에 필요한 각종 모듈 설치.

  • 드라이버 설치.

    • wireless-tools- wpasupplicant (무선 랜 드라이버)

  • 설치 모듈

    • git (깃 허브)

    • python3 (파이썬)

    • nginx (엔진엑스)

    • sublime-text-installer (서브라임 텍스트3 코드 에디터)

    • google-chrome-stable (구글 크롬)

Backend(Python Flask)

SOOJLE 메인 서버인 Application을 구현한다.

SOOJLE은 기본적으로 코드 관리의 효율성과 디버깅의 효율을 위해 모든 API소스를 분류해서 보관한다.

설치된 모듈 (후에 API 변동에 따라 추가/삭제될 수 있음)

APScheduler==3.6.0

atomicwrites==1.3.0

attrs==19.1.0

beautifulsoup4==4.7.1

boto==2.49.0

boto3==1.9.223

botocore==1.12.223

bs4==0.0.1

certifi==2019.6.16

chardet==3.0.4

Click==7.0

colorama==0.4.1

docutils==0.15.2

Flask==1.1.1

Flask-Cors==3.0.8

Flask-JWT-Extended==3.20.0

funcy==1.13

future==0.17.1

gensim==3.8.0

idna==2.8

importlib-metadata==0.20

itsdangerous==1.1.0

Jinja2==2.10.1

jmespath==0.9.4

joblib==0.13.2

JPype1==0.7.0

JPype1-py3==0.5.5.4

konlpy==0.5.1

MarkupSafe==1.1.1

more-itertools==7.2.0

nltk==3.4.5

numexpr==2.7.0

numpy==1.17.1

packaging==19.1

pandas==0.25.1

Pillow==6.1.0

pipenv==2018.11.26

pluggy==0.12.0

py==1.8.0

PyJWT==1.7.1

pyLDAvis==2.1.2

pymongo==3.8.0

pyparsing==2.4.2

pytest==5.1.2

python-dateutil==2.8.0

pytz==2019.2

requests==2.22.0

s3transfer==0.2.1

scipy==1.3.1

six==1.12.0

smart-open==1.8.4

soupsieve==1.9.2

tzlocal==1.5.1

urllib3==1.25.3

virtualenv==16.7.5

virtualenv-clone==0.5.3

wcwidth==0.1.7

Werkzeug==0.15.4

zipp==0.6.0

Last updated