본문 바로가기

macOS/Mac Mini로 서버 만들기

[프로젝트 생성 - 2] Django 프로젝트 생성 후 가상환경에서 로컬 서버 실행 및 접속 방법

반응형

Django는 Python으로 웹 애플리케이션을 개발하기 위한 강력한 프레임워크입니다. 프로젝트를 생성하고 서버를 실행하는 과정에서 가상환경을 사용하는 것이 매우 중요합니다. 이번 글에서는 Django를 가상환경에서 설정하고 실행하는 과정을 단계별로 자세히 설명합니다. 또한, 0.0.0.0:8000으로 서버를 실행하는 이유도 함께 알아봅니다.


1. 가상환경 활성화

 

Django 프로젝트는 가상환경 안에서 설정하고 실행하는 것이 가장 좋은 방법입니다. 이를 통해 프로젝트별 독립적인 Python 환경을 유지할 수 있습니다.

 

가상환경 활성화의 내용은 해당 링크에 자세히 설명되어 있으니 확인 후 진행 해주세요.

 

활성화되면 터미널 프롬프트 앞에 가상환경 이름이 표시됩니다:

(myenv) username@MacBook ~%

 

위 내용중 "(myenv)" 가 앞에 있으면 가상환경 상태이며, 앞으로의 진행은 가상환경에서 진행됩니다.


2. Django 설치

 

가상환경이 활성화된 상태에서 Django를 설치합니다.

(myenv) username@MacBook ~% pip install django

 

설치가 완료되면 Django 버전을 확인하여 올바르게 설치되었는지 확인합니다:

(myenv) username@MacBook ~% django-admin --version

 

출력 예시:

5.0

3. Django 프로젝트 생성

 

가상환경이 활성화된 상태에서 Django 프로젝트를 생성합니다.

 

프로젝트 생성 명령어

django-admin startproject myproject

 

위 명령어를 실행하면 myproject라는 이름의 프로젝트가 생성됩니다.

 

프로젝트 디렉터리 구조

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

manage.py: 프로젝트 관리 명령어를 실행하는 스크립트.

settings.py: 프로젝트의 설정 파일.

urls.py: URL 라우팅 설정 파일.


4. Django 앱 생성

 

Django는 기능별로 **앱(App)**을 생성하여 관리합니다.

 

앱 생성 명령어

python3 manage.py startapp myapp

 

위 명령어를 실행하면 myapp이라는 이름의 앱이 생성됩니다.

 

앱 등록하기

 

생성한 앱을 settings.py 파일의 INSTALLED_APPS에 추가합니다.

 

myproject/settings.py:

INSTALLED_APPS = [
    ...
    'myapp',
]

5. 로컬 서버 실행

 

가상환경이 활성화된 상태에서 Django 로컬 서버를 실행합니다.

 

기본 서버 실행

python3 manage.py runserver

 

Django는 기본적으로 127.0.0.1:8000에서 서버를 실행합니다.

실행 중인 서버는 터미널에 다음과 같은 메시지를 출력합니다:

Watching for file changes with StatReloader
Performing system checks...

Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

6. 브라우저에서 접속

 

브라우저를 열고 주소창에 http://127.0.0.1:8000/를 입력합니다. Django의 기본 화면이 나타나며, 서버가 정상적으로 실행 중임을 확인할 수 있습니다.

 

기본 페이지 예시

 

Django의 기본 페이지는 다음과 같은 메시지를 보여줍니다:

The install worked successfully! Congratulations!

7. 0.0.0.0:8000으로 서버 실행하기

 

기본적으로 python3 manage.py runserver 명령은 127.0.0.1:8000에 서버를 실행합니다. 하지만 다른 네트워크 기기에서 이 서버에 접근하려면 IP를 0.0.0.0으로 변경해야 합니다.

 

0.0.0.0:8000으로 서버 실행

python3 manage.py runserver 0.0.0.0:8000

 

0.0.0.0 사용 이유

 

1. 네트워크 외부 접근 허용

127.0.0.1로컬 머신에서만 접근할 수 있는 IP입니다.

0.0.0.0은 모든 네트워크 인터페이스를 통해 접근을 허용합니다. 즉, 같은 네트워크에 연결된 다른 기기에서도 서버에 접근할 수 있습니다.

2. 테스트 및 디버깅

로컬 머신 외부에서 서버를 테스트하거나 디버깅할 때 유용합니다.

예를 들어, 모바일 기기에서 로컬 서버를 확인하거나 팀원이 같은 네트워크에서 작업 중인 서버에 접속해야 할 때 사용합니다.

 

서버에 접속하는 방법

 

0.0.0.0으로 서버를 실행하면, 서버가 실행된 머신의 IP 주소를 사용하여 브라우저에서 접속할 수 있습니다.

서버의 IP 주소를 확인하려면 터미널에서 다음 명령어를 실행합니다:

ifconfig | grep inet

 

출력된 IP 주소를 이용해 브라우저에서 http://<IP>:8000/에 접속합니다.


8. 서버 실행 시 발생할 수 있는 문제 해결

 

포트 변경하기

 

만약 8000 포트가 이미 사용 중이라면 다른 포트로 실행할 수 있습니다:

python3 manage.py runserver 0.0.0.0:8080

마무리

 

Django 프로젝트 생성과 실행 과정에서 가상환경을 사용하는 이유는 독립적이고 안전한 개발 환경을 유지하기 위함입니다. 특히 127.0.0.10.0.0.0의 차이를 이해하면 로컬 서버를 더 효율적으로 활용할 수 있습니다. 이제 Django와 함께 웹 애플리케이션 개발을 시작해보세요!

반응형