사이드프로젝트 4일차

고성욱·2023년 3월 24일
0

사이드프로젝트

목록 보기
4/7

Django를 AWS서버를 이용한 배포

개발 환경

  • mac os(13.0 Ventura)
  • Python 3.9
  • Django 4.1.5
  • Pycham 22.11.ver

Login을 위해 DB 생성과 연결할 서버를 생성

  1. DB 생성 (adminuser_DB 테이블 생성)
  1. Django 서버를 생성해서 로그인 API를 만든다. (Django Ver 4.1)

장고를 임포트 하여 첫 시작 페이지를 만듬

python manage.py startapp Login 구문을 사용해서 Login app 생성

setting.py 에서 DB를 셋팅 해주고 migration을 통해 설정을저장 한다.

  • 의도치 않은 오류 발생

위의 포트가 이미 사용중이라는 오류가 발생했다.

이유는 제대로 앱이 꺼지지 않아서 그럴수있다. (ctrl + z를 사용하면 서버가 죽는게 아닌 멈춘다. 제대로 죽이려면 ctrl + c를 사용해서 서버를 죽이면 된다.)

이럴 경우 port 8000과 관련된 모든 프로세스를 죽이고 다시 실행시키면 된다.

터미널에서 "sudo lsof -t -i tcp:8000 | xargs kill -9"를 입력하면 된다.

혹은 python manage.py runserver 0.0.0.0:9000 이런식으로 포트를 지정해주면 된다.

포트 연결 성공

AWS서버에 django 웹 배포하기

서버에서도 똑같은 패키지를 사용할수 있도록 pip3 freeze >> requirements.txt 명령어를 입력한다.

  • 인증키의 경로를 잘 선택하거나 잘 잡아야 할거 같다. 그후 아래 명령어를 입력하면

(venv) (base) weng-weng@MacBook-Pro ssh % $ ssh -i ssh/woogies.pem ubuntu@ec2-ec2-13-124-208-83.ap-northeast-2.compute.amazonaws.com

이 화면에서 Yes라고 하면

성공적으로 접속이 되었다!

준비는 끝났고 로그인 API를 띄워서 APP의 Retrofit 통신을 확인작업을 하면되겠다.

Git에 올리기

깃 설정을 하고 커밋과 푸쉬를 해주면 깃에 서버를 사용할수 있는 코드가 올라가게 된다!

https://github.com/WrappingorNot/Django_server

이제 AWS서버를 어떤 형태든지 쓸수 있게 되었다!

AWS서버에 접속 해서 git 코드를 Clone 해주었다.

서버에서 git clone한 프로젝트의 필요한 패키지를 전부 다운받았다,.

그리고 runserver 8080 포트로 열었다.

그전에 서버에서 접속이 될수 있도록 인바운드 규칙에 추가하자.

위 주소는 서버를 통한 Django를 배포한것이다.

그러나 위처럼 오류가 발생되었다. setting의 ALLOWED_HOST의 설정이 안되었기 때문에

아래처럼 로컬 장고에서 설정을 하고 git push를 해준다.

다시 접속 하게끔 python3 manage.py runserver 0:8080입력하면

성공!!!

가상 환경시 경로가 잘되어있는지 확인하자

uwsgi --http :8080 --home /home/ubuntu/myvenv/ --chdir /srv/Django_server/mysite/ -w mysite.wsgi

profile
안드로이드, 파이썬 개발자

0개의 댓글