웹(WEB)/파이썬(Python)

[Python] Flask 리눅스 서버 구동(2) 웹 서버 환경 구현

마달랭 2025. 1. 2. 21:41
반응형

개요

[Python] Flask 리눅스 서버 구동(1) AWS EC2 인스턴스 생성

 

[Python] Flask 리눅스 서버 구동(1) AWS EC2 인스턴스 생성

개요리눅스 환경에서 웹 서버를 구현하기 위해 AWS를 사용해 보자AWS EC2 프리 티어 인스턴스를 생성하여 무료로 퍼블릭 IP를 부여받을 수 있다. 만약 AWS 아이디가 없다면 생성해 준다.생성 후 AWS

zzzz955.tistory.com

 

위 게시글에서 AWS에서 가상화 인스턴스를 생성하여 우분투 환경 원격 접속까지 진행하였다.

이제 리눅스 환경에서 서버 구동을 위한 최소한의 패키지를 설치해 보자

 

 

Flask 서버 설치

1. Python 및 필수 패키지 설치

sudo apt update
sudo apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools python3-venv

 

우분투 환경에서 위 명령어를 실행하여 Flask 의존성 패키지를 설치해 준다.

최초 환경 설정이므로 apt를 update해 주어야 한다.

 

2. Flask 프로젝트 디렉토리 생성

mkdir flask_app && cd flask_app


디렉토리 생성 후 해당 디렉토리로 이동해 준다.

 

3. 가상환경 생성 및 활성화

python3 -m venv venv
source venv/bin/activate

 

프로젝트 디렉토리에서 파이썬 가상화를 실행한다.

 

4. Flask 및 필요한 패키지 설치

pip install Flask Flask-SQLAlchemy PyMySQL flask-cors

 

source를 통해 가상화를 진행한 상태에서 SQL관련 패키지를 설치해 준다.

또한 웹 클라이언트와 통신을 해야 하므로 cors도 설치해 준다.

 

소스 코드 작성

사실상 소스코드는 윈도우 환경에서 작성했던 내용을 모두 전달해 주면 된다.

이전에 작성했던 소스 코드와 디렉토리 등을 그대로 우분투 환경에 복사해 주자

 

단, 가상화 설정이 저장된 venv와 .idea, __pycache__와 같은 디렉토리는 복사하지 말자

또한 이전 윈도우 환경에서 웹 서버를 구동할 땐 오로지 로컬 환경에서만 고려했다.

따라서 Flask app을 실행할 때 호스트를 0.0.0.0으로 설정해야 다른 IP에서 현재 서버의 종료점에 접근할 수 있다.

 


위와 같이 host를 0.0.0.0으로 변경해 주자, 포트 번호는 변경해도 되고 안해도 된다.

단, 변경한 경우에는 클라이언트에서 종료점을 설정할 때 포트번호를 변경한 값으로 변경해 주어야 한다.

728x90
반응형