백엔드/서버

Python 서버 따라 만들기 [4] ubuntu에 Django 서버 띄우기

leejiwoo21 2024. 4. 22. 02:06

1. Django를 Git에 올리기

2. ubuntu에서 Django 서버 다운받기

3. ubuntu에서 서버 실행

 

 

이번 포스트에선 ubuntu에서 Django 서버를 다운받고 싱행해볼게요

 

1. PuTTY에서 ubuntu 실행

 

2. home 위치에 mkdir "프로젝트명" 을 입력하여 디렉토리 생성

 

 

3. ll 을 입력하여 디렉토리 확인

 

 

4. github에서 Django 코드 url을 복사

 

 

5. cd "방금 생성한 디렉토리명" 입력

 

 

6. git init 입력

 

 

7. ubuntu에서 git remote add origin + URL입력

* ubuntu에서 붙여넣기는 마우스 우클릭입니다.

 

 

8. git pull origin master 입력

입력 후 ll로 잘 내려왔는지 확인

 

 

 

9. sudo apt update

 

 

 

10. pip 설치

 

 

이 창이 보이면 엔터 2번 누르기

 

 

 

11. virtualenv 설치

 

 

apt에서도 virtualenv 설치하기

 

 

 

12. virtualenv venv --python=python3 입력

 

venv라는 이름의 virtualenv(가상환경)을 만들겠다는 것이고, 가상환경에서 사용할 파이썬 버전을 적어서 입력하자.

 

여기까지 진행하면 server_dev 디렉토리 아래에 server_dev와 venv 디렉토리가 들어있다.

 

 

 

13. source venv/bin/activate 입력

해당 명령어는 venv 가상 환경을 활성화하는 명령어입니다.

여기서 각 부분의 의미는 다음과 같습니다:

  • source: 현재 쉘 세션에서 스크립트 파일을 실행하고 환경을 변경하는 명령어입니다. source 명령어는 쉘 스크립트 파일의 내용을 현재 쉘 세션에 적용합니다.
  • venv/bin/activate: venv 가상 환경 디렉토리에 있는 activate 스크립트를 실행하는 것을 의미합니다. 이 스크립트는 가상 환경을 활성화하고, 해당 가상 환경에 필요한 환경 변수들을 설정합니다. 가상 환경이 활성화되면 프롬프트 앞에 (venv)와 같은 프롬프트 접두어가 표시됩니다. 이는 현재 가상 환경이 활성화되어 있음을 나타냅니다.

 

 

 

14. pycharm 터미널로 돌아와서

pip freeze > requirements.txt 입력

 

python freeze로 설치된 라이러리를 확인할 수 있고, requirements.txt에 라이브러리 목록을 저장함.

> requirements.txt가 Django프로젝트에 추가됨.

> git에서 변경사항을 push

 

 

 

15. ubuntu에도 변경사항 반영

ubuntu에서 git pull origin master 입력

pip install -r requirements.txt 입력

자동으로 requirements.txt 안에 있는 라이브러리를 설치함

 

 

16. 포트 접근 허용

aws 인스턴스의 보안규칙을 변경한다.

 

 

17. Django의 settings.py에서 접근 호스트 변경

"*" 로 모든 접근 허용

 

sourcetree를 push하고, ubuntu에선 pull을 하기

 

 

18. manage.py migrate하기

처음 runserver를 하게 되면 아래의 오류가 나타날 것 입니다.

python manage.py migrate 입력

 

Django에서 migrate 명령은 데이터베이스 스키마를 관리하는 데 사용됩니다. 이 명령을 실행하면  Django는 모델 정의를 데이터베이스 테이블로 변환하거나 변경 사항을 적용합니다. migrate를 실행함으로써 Django는 모델의 변경 사항을 추적하고 데이터베이스 스키마를 최신 상태로 유지합니다.

요약하면, migrate를 실행하여 Django 애플리케이션의 데이터베이스 스키마를 최신 상태로 유지함으로써 데이터베이스와의 일관성을 유지하고 안정성을 보장할 수 있습니다.

 
 
 

 

 

19. ubuntu에서 Django 실행

python manage.py runserver 0.0.0.0:8000 입력

 

0.0.0.0:8000은 서버가 사용할 IP 주소와 포트 번호를 나타냅니다.

0.0.0.0은 "모든 IP주소"를 의미합니다. 즉, 이 주소를 사용하면 해당 서버는 모든 네트워크 인터페이스를 통해 접근할 수 있습니다.

 

 

 

이렇게 서버를 올리고, 들어가보자

브라우저에 aws 인스턴스 IP주소와 포트번호를 입력한다.

포트 번호는 8000

 

 

 

이 페이지가 보이면 성공!