아마존 계정 가입 후 인스턴스 창 > AMI 선택(우분투) > 키페어 파일 저장 (터미널 연결 시 필요 = 인스턴스 생성 완료)
인스턴스 중지 & 재부팅 : 서비스 잠시 중지 & 재부팅
인스턴스 종료 : 인스턴스 자체의 서비스 종료 (서비스 반납)
$ sudo chmod 400 키페어(드래그&드롭)
$ ssh -i 키페어 ubuntu@퍼블릭 IPv4주소
Site Manager > 프로토콜 : SFTP > 호스트 (아마존: ip, default port: 22), 키파일 설정 후 커넥트
sudo chmod 755 initial_ec2.sh
실무에서는 이미 회사 내에서 세팅 되어 있는 경우가 많음
시간, 파이썬, pip, mongodb 세팅
시간 : sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
python : sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
pip : sudo apt-get update
sudo apt-get install -y python3-pip
sudo update-alternatives --install /urs/bin/pip pip /usr/bin/pip3 1
몽고DB : Robo3T로 접속 계정 생성 후 접속
포트포워딩 :
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
AWS 내 패키지 필요 패키지 설치
pip install flask
AWS에서 포트 열어주기
AWS ec2 관리 콘솔 > 보안 그룹 > 인스턴스 클릭 > Edit inbound rules > 포트 추가 (전부 anywhere)
80포트 : HTTP 접속을 위한 기본 포트
5000포트 : flask 기본 (app.py 시작 포트 참고)
27017포트 : 외부에서 DB몽고 접속 시 필요한 포트
Robo 3T db 연결
커넥션 생성 > connection 내의 AWS ip & 포트넘버(27017 입력), Authentication에서 username & password 입력 후 저장.
** 해당 인증 정보는 app.py의 클라이언트 comm.baseObject로 변경 필수
nohup 설정하기
nohup이란? SSH 접속과 관계없이 서버 동작할 수 있게 하는 설정
명령어 : nohup python app.py & (서버 종료 후 다시 명령 시 서버 재동작)
서버 종료를 원할때?
해당 서버 찾기 : ps -ef | grep 'app.py'
서버 종료 : kill -9 [pid값]
도메인 연결
사용하고자 하는 도메인 호스팅 업체 > 원하는 도메인 구입/ 도메인 보유 시 도메인 연결 진입 > DNS 설정
호스트 이름에 @, iP주소에 AWS ec2 ip 주소 입력