프롤로그
이번에 멋쟁이 사자 12기 학교 운영진을 맡게 되면서, 홈페이지를 만들어야하기에, 이것저것 준비중인데, 서버로 여는 법을 공부하면서 같이 글을 적게 되었다.
기본적으로 장고를 이용할 것이고, 그와 관련된 설명들로 나올 것이다.
AWS Lightsail이란?
AWS 라이트 세일은 아마존에서 운영하는 웹 서비스 특화된 클라우드 서비스이다. 월 비용 3.5달러로 굉장히 저렴한 비용에 사용할 수 있다.
AWS라이트 세일 사양
- 메모리 : 512MB
- CPU : 1vCPU
- SSD : 20GB
- 트래픽 : 1TB
AWS Lightail 사용하여 서버 열기
(1) 회원가입하기
https://lightsail.aws.amazon.com/
해당 사이트에서 회원가입/로그인을 합니다. 회원가입 방법은 알아서 잘 하실 거라 믿고 넘어가겠습니다.
(2) 인스턴스 생성하기
인스턴스를 생성합니다.
플랫폼에서 Linux/Unix를 선택하고, 블루프린트 선택에서 OS전용 -> Ubuntu 를 선택합니다.
본인이 사용하고자 하는 가격대를 선택한 후, 인스턴스 확인란에 본인이 원하는 인스턴스 명을 작성한 후 "인스턴스 생성" 버튼을 클릭합니다.
이후 "대기 중" 에서 "실행 중"으로 바뀔 때까지 기다립니다.
(2) 서버 접속하기
해당 버튼을 클릭하여 인스턴스의 명령 프롬프트인 터미널을 엽니다.
$ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
명령어를 입력하여 한국시간으로 시간을 설정합니다.
(3) 파이썬 설치 확인
python을 입력한 후, python3을 입력한다.
이 창이 뜨면 파이썬이 설치되어 있다는 것이니, exit()로 파이썬 셸을 나간다
(4) 가상현실 설정하기
$ sudo apt update로 우분투 패키지를 최신으로 업그레이드 합니다
이후 장고 가상환경을 설치합니다.
$ sudo apt install python3-venv
설치 후
를 입력하여 설치 하고
$ mkdir projects
$ mkdir venvs
$ cd venvs
$python3 -m venv "폴더명"
$ cd "폴더명"/bin
$ . activate
를 입력합니다. 그렇게 되면 가상 환경에 진입이 되었습니다.
이후
$ pip install wheel
$pip install django
$ pip install djangorestframework
등을 입력하여 필요 패키지들을 설치해줍니다.
(5) 깃허브에서 파일 내려받기
$ cd ~/projects
$ git clone "복사할 깃허브 링크" 를 해줍니다
자신의 깃허브에 있던 프로젝트를 불러올 수 있습니다. 이후
$ cd "자신의 프로젝트명"
$ python manage.py migrate
$ python manage.py runserver
로 서버를 열어줍니다.
(6) 고정 ip 생성 후 접속하기
AWS 라이트세일 메인 화면에서 네트워킹으로 이동하고, 고정IP 생성 버튼을 클릭합니다.
자신이 연결하고자 하는 인스턴스를 연결, 고정아이피 이름을 설정하고 생성을 클릭합니다.
이 고정아이피는 잘 기억해두시길 바랍니다. 이후
메인화면 -> 인스턴스로 돌아와서 아까 생성한 인스턴스의 관리 버튼을 누르고
[네트워킹] 탭에서 규칙추가를 클릭합니다.
위 사진과 같이 포트번호를 8000번을 입력한 후 생성 버튼을 클릭합니다.
이후 서버를 열 때 python manage.py runserver 0:8000 을 입력하여 열어주면 됩니다.
0의 의미는 "외부에서 이 서버에 접속 할 수 있도록 아이피를 개방" , 8000의 의미는 8000번 포트로 연결 허용 의미입니다.
(7) 서버에서 장고 서비스 가능하도록 설정하기
자신의 프로젝트에서 settings.py 에서 ALLOWED_HOSTS = [] 부분에다가, 아까 자신의 고정 IP 번호를 입력합니다.
아까 생성한 제 고정 IP는 13.124.78.53 이기에 이를 작성하여줍니다.
이 후, 깃에 커밋합니다.
git add .
git commit
git push
이후, 서버를 다시 확인해봅시다. 가상 환경에 들어가줍니다.((4)번 마지막 ~ (5)번 확인 해주세요)
기존의 장고 서버를 종료시키기 위하여 killall python 명령을 수행한 후 서버를 다시 실행시킵니다
$ killall python
$ git pull
$ python manage.py runserver 0:8000
이후 주소창에다가 잘 입력을 해보면
서버를 이용하여 정상적으로 홈페이지 운영이 가능해졌다.
후기
AWS 라이트세일을 이용하여 서버 여는 법을 작성하였다.
'웹 개발' 카테고리의 다른 글
[장고] JWT 사용하기 #4 (0) | 2024.02.10 |
---|---|
[장고] 장고로 JWT 사용하기 #3 (1) | 2024.01.31 |
[장고] 회원가입 DRF이용하여 만들기 #2 (0) | 2024.01.30 |
[장고] 프로젝트 Model 작성하기 #1 (1) | 2024.01.29 |
[웹 개발] 개발환경과 서버환경 분리하기 (장고) (0) | 2023.12.24 |