본문 바로가기
IT

Flask로 간단한 웹서버 만들기 - 웹프레임워크, API

by 카카오망고 2025. 4. 30.
반응형
Flask로 간단한 웹서버

목차

    👉Flask로 간단한 웹서버 만들기 바로 보기

    Flask로 간단한 웹서버

    웹 개발의 세계에 발을 내딛는 것은 흥미로운 경험입니다. 특히 파이썬을 이용한 웹 서버 구축은 간단하면서도 강력한 기능을 제공합니다. 이번 글에서는 Flask라는 파이썬 웹 프레임워크를 이용하여 간단한 웹 서버를 만드는 방법을 소개하겠습니다. Flask는 가볍고 유연한 구조를 가지고 있어 초보자부터 전문가까지 다양한 개발자에게 사랑받는 도구입니다. 우리는 Flask를 통해 API를 제공하며, 클라이언트에서 요청을 처리하는 기본적인 웹 서버를 구축할 것입니다.

     

    이 글을 통해 우리는 간단한 Flask 애플리케이션을 설정하고, RESTful API를 구축하는 방법을 배우게 됩니다. 이 과정에서 Flask의 기본적인 라우팅, 요청 처리 및 JSON 데이터 응답 방식을 살펴보며, 실제로 웹 서버를 운영하는 방법도 알아보겠습니다. API 서버를 구축하는 것은 현대 웹 개발에서 필수적인 요소로, 이를 통해 다양한 클라이언트 애플리케이션과 데이터 통신을 원활하게 할 수 있습니다.

    Flask의 설치 및 환경 설정

    Flask를 사용하기 위해서는 먼저 Python이 설치되어 있어야 합니다. Python은 공식 웹사이트에서 다운로드할 수 있으며, 설치 후에는 pip를 통해 Flask를 설치할 수 있습니다. 다음의 명령어를 통해 Flask를 설치해 보겠습니다:

    • pip install Flask
    • pip install Flask-RESTful

    이제 Flask가 설치되었다면, 간단한 웹 서버를 구현하기 위한 디렉터리를 만들고, 해당 디렉터리로 이동하여 Flask 애플리케이션을 생성합니다. 예를 들어, `my_flask_app`이라는 디렉터리를 만들어 아래와 같은 구조를 갖도록 합니다:

    • my_flask_app/
    •  app.py

    Flask 애플리케이션 기본 구조

    이제 `app.py` 파일을 열고 기본적인 Flask 애플리케이션의 구조를 작성해 보겠습니다. 아래와 같이 간단한 코드로 Flask 애플리케이션을 설정할 수 있습니다:

     

     

     

    이 코드는 기본적으로 '/' 경로로 접근했을 때 "Hello, World!"라는 메시지를 반환하는 간단한 웹 서버입니다. Flask의 `route` 어노테이션을 사용하여 URL 매핑을 설정하고, `run` 메서드를 통해 서버를 실행할 수 있습니다. 이렇게 설정한 후, 웹 브라우저에서 localhost:5000으로 접속하면 웹 페이지를 확인할 수 있습니다.

    👉Flask로 간단한 웹서버 만들기 확인하기

    RESTful API 구축

    Flask를 사용하여 RESTful API를 구축하는 것도 매우 간단합니다. 우선 JSON 데이터를 반환하는 엔드포인트를 추가하여 클라이언트에서 데이터를 요청할 수 있도록 설정합니다. 아래의 코드를 참고하여 API 엔드포인트를 추가해 보겠습니다:

     

     

     

    이제 `/api/message` 경로로 GET 요청을 보내면 JSON 형식의 데이터를 받을 수 있습니다. 웹 브라우저나 Postman과 같은 도구를 사용하여 API를 호출해 보세요. 응답으로는 `{"message": "Hello, API!"}`라는 JSON 데이터가 표시될 것입니다.

    Flask에서 데이터 처리

    Flask 애플리케이션에서 클라이언트로부터 데이터를 처리하는 방법도 간단합니다. POST 요청을 통해 클라이언트가 데이터를 전송하고, 서버에서 이를 처리하여 응답합니다. 아래 코드를 통해 클라이언트가 JSON 데이터를 전송할 수 있는 엔드포인트를 구현해 보겠습니다:

     

     

     

    이 코드는 클라이언트가 JSON 형식으로 데이터를 POST 요청할 때, 해당 데이터를 받아서 응답으로 다시 반환합니다. 이를 통해 데이터의 전송 및 처리가 어떻게 이루어지는지를 이해할 수 있습니다.

    Flask 애플리케이션 실행

    이제 Flask 애플리케이션을 실행해 보겠습니다. 터미널에서 아래 명령어를 입력하여 서버를 시작합니다:

    • python app.py

    서버가 실행되면, 브라우저를 통해 앞서 구현한 엔드포인트에 접속하여 결과를 확인할 수 있습니다. 만약 다른 기기에서 서버에 접근하려면, 서버의 IP 주소와 포트를 입력하여 요청할 수 있습니다. 이 때, `host='0.0.0.0'`으로 설정했기 때문에 다른 네트워크에서도 접근할 수 있습니다.

    서버 배포하기

    로컬에서 Flask 애플리케이션을 실행했지만, 실제 서비스를 제공하기 위해서는 서버에 배포해야 합니다. Flask 애플리케이션을 프로덕션 환경에서 실행하려면 WSGI 서버인 Gunicorn 또는 uWSGI와 같은 도구를 사용할 수 있습니다. 이러한 도구를 사용하면 높은 성능의 웹 서버를 구축할 수 있으며, 여러 요청을 동시에 처리할 수 있는 장점이 있습니다.

     

    예를 들어, Gunicorn을 사용하여 Flask 애플리케이션을 실행하려면, 다음과 같은 명령어를 사용할 수 있습니다:

    • gunicorn -w 4 app:app

    여기서 `-w 4`는 4개의 워커 프로세스를 사용하겠다는 의미입니다. 이를 통해 더 많은 클라이언트 요청을 효과적으로 처리할 수 있습니다. 또한, Nginx와 같은 리버스 프록시 서버를 설정하여 보안 및 성능을 더욱 개선할 수 있습니다.

    자주 묻는 질문(FAQ)

    • Flask는 어떤 용도로 사용되나요? Flask는 웹 애플리케이션 개발을 위한 파이썬 프레임워크로, 간단한 웹 서버부터 복잡한 API 서버까지 다양한 용도로 사용됩니다.
    • Flask와 다른 프레임워크의 차이점은 무엇인가요? Flask는 경량화된 프레임워크로, 최소한의 기능만 제공하여 개발자가 필요한 모듈을 선택하여 사용할 수 있는 유연성을 제공합니다.

    결론

    이번 글에서는 Flask를 이용한 간단한 웹 서버 구축 방법에 대해 알아보았습니다. Flask는 설치와 설정이 간단하며, RESTful API를 제공하는 데 최적화되어 있습니다. 기본적인 라우팅과 데이터 처리를 통해 클라이언트와의 상호작용을 쉽게 구현할 수 있었습니다. Flask를 통해 웹 개발의 기초를 다질 수 있었기를 바라며, 앞으로 더 다양한 기능과 복잡한 애플리케이션을 만들기 위한 발판이 되기를 바랍니다. 웹 서버 개발은 무한한 가능성을 지니고 있으며, Flask는 그 출발점이 될 것입니다.

    👉Flask로 간단한 웹서버 만들기 알아보기

    반응형