다들 쉽게 서버를 연결한 것 같은데, 나는 강의자료와 다르게 갔던 것 같아서 조금 애를 먹었다.
(너무 기초 개념이 안 잡혀있어서 질문하기도 상당히 애매한 수준...)
클라우드 환경을 활용하여 웹서비스에 접근할 수 있도록 만든다.
-AWS서버구매 후 연결
*GitBash에서 세팅하기
GitBash에서는 AWS EC2에서 구매한 가상의 컴퓨터(클라우드 같은 개념)를 연결한다.
가상의 컴퓨터, 리눅스는 마우스가 없어서 명령어를 입력하여 사용한다.
GitBash를 시작하기 전에 우선 키페어를 준비해야한다. 그리고 여러 명령어가 등장하는데,
굳이 다 기억할 필요는 없고, 잘 기록해두고 붙여써도 될 듯하다.
*GitBash로 컴퓨터에 원격접속
-GitBash로 키페어등록하기(나는 윈도우를 사용하기 때문에 윈도우기준/Mac환경은 다르다)
-GitBash에서 맨 처음 'ssh -i 키페어드래그 ubuntu@IPv4'(공백에 스페이스, IPv4는 AWS에서 마우스로 복붙)
-yes 입력 // 여기까지 원격접속 한 것이다.
*GitBash로 가상의 컴퓨터에 폴더만들기
└GitBash를 이용하면 머릿속에 대충 경로가 그려져야 할 듯, 초초초기초수준이라서 아직 명령어 읽는 것이 어렵다ㅠㅠ
강사님도 ls, cd 정도의 명령어만 알아도 괜찮다고 한다. 모르면 구글링을 습관화하자!
-mkdir 생성할폴더이름 입력 //입력 후 아무일도 일어나지않아야 성공!
-ls 입력 // 지금 위치에서 폴더보기
-cd 폴더이름 입력 //해당폴더들어가기 (~/폴더이름$)으로 폴더에 들어간 경로가 보인다.)
-cd .. //폴더나가기, cd+공백+.. 스페이스있음 주의!
EC2세팅하는 코드(# 아래줄을 마우스로 복붙하여 사용한다) # python3 -> python (//python3가 아닌 python으로 명령을 내리겠다) sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 # pip3 -> pip (//패키지설치를 위한 명령어) sudo apt-get update sudo apt-get install -y python3-pip sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 # port forwarding (//localhost5000을 떼는 명령어) sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000 |
포트포워딩은 포트80으로 접속을 해도 포트5000으로 연결해주는 기능
*파일질라(Filezilla)에서 세팅하기
내컴퓨터와 내가 구매한 컴퓨터 연결해주는 역할
*사이트관리자에서 사이트 생성
-프로토콜은 SFTP로 변경, 호스트는 인스턴스(AWS)에서 복사, 포트는 22 고정
-로그온유형은 키파일, 사용자는 ubuntu, 키파일 선택(PEM파일로 선택후 찾기)
-서버에 연결할 파이썬파일을 내컴퓨터에서 구매한 컴퓨터로 드래그하고 확인 누른다.
*GitBash에서 확인하기
다시 GitBash로 와서 ls, cd 폴더이름, ls 누르고 파일이 제대로 들어왔는지 확인
*Flask서버 실행하기
서버를 실행할 파일의 static, templates, app.py 3가지를 파일질라로 드래그!
*GitBash에서 파일이 잘 들어왔는지 확인 후 python app.py 입력해서 실행하기
-No module named 'flask'라고 메세지가 뜨면 플라스크가 안깔려있다는 뜻.
이때는 pip install flask라고 입력해서 설치하고, python app.py 실행해서 확인
-No module named 'pymongo'라고 메세지가 뜨면 pymongo가 안깔려있다는 뜻.
이때는 pip install pymongo 입력해서 설치
-pip install dnspython 입력해서 dnspython도 설치해주자
-모두 설치후 python app.py를 실행해보자
-AWS 보안그룹에서 인바운드규칙 편집(:5000, :80 2가지 규칙추가저장)
사용자지정 TCP, 포트범위 5000과 80추가, 소스는 Anywhere IPv4 저장
*nohup설정하기
*nohup설정하기(서버연결/종료)
GitBash를 종료하면 서버 접속이 끊긴다. 컴퓨터를 계속 켜둘 수 없으니 종료해도 서버가 실행될 수 있도록 하는 역할
(GitBash 다시 실행하면 ssh -i 키페어드래그 ubuntu@AWSIPv4복붙 입력)
(기존에 입력해둔 키가 있다면 화살표↑누르면 붙여넣기가 된다.)
*GitBash종료 후 nohup으로 서버연결유지
-ls와 cd코드를 이용해서 현재 위치, 파일을 확인하고 해당 파일을 찾아서 python app.py로 서버연결 실행
-GitBash에서 Ctrl+C를 눌러 종료한다.
-종료된 시점에서 nohup python app.py & 입력실행하면 GitBash종료후에도 서버연결지속함.
*서버연결종료하기
키페어입력해서 접속후 강제종료키 입력하면 서버연결종료
강제종료키는 외우지않고 복붙해서 사용하면 된다.
ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
'💻 개발블로그 > 웹개발' 카테고리의 다른 글
5주차(2) 웹개발 강의: 도메인연결, og이미지 (0) | 2021.12.18 |
---|---|
5주차(1) 웹개발 강의: 파일질라, 가비아 / 버킷리스트 만들기 (0) | 2021.12.17 |
4주차 웹개발 강의: 팬명록만들기 예제(개발일지) (0) | 2021.12.17 |
2주차(3) 웹개발 강의: Ajax (0) | 2021.12.17 |
2주차(2) 웹개발 강의: JQuery연습예제 (0) | 2021.12.17 |