서버 구축 및 배포
개요
앞으로의 프로젝트 개발을 위해 미리 테스트용 서버의 기반을 구축해 놓을 필요가 있다. 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