티스토리 뷰
오늘은 MobaXterm을 이용해 AWS EC2 Ubuntu 서버를 설정하고, Flask 기반 Pybo 프로젝트를 실행하는 전체 과정을 실습했습니다.
GUI 기반 SSH 도구인 MobaXterm 덕분에 리눅스에 익숙하지 않아도 수월하게 서버 접속과 관리가 가능했고, 실제 웹 애플리케이션을 EC2 환경에서 띄워보며 서비스 배포 감각을 익힐 수 있었습니다.

1. EC2 인스턴스 생성 및 MobaXterm 접속
- AMI: Ubuntu 20.04 LTS
- 인스턴스 유형: t2.micro
- 보안 그룹 인바운드 규칙:
- SSH (22)
- HTTP (80)
- Flask 개발 서버용 포트 (5000)
MobaXterm 접속 절차
- MobaXterm 실행 → Session 클릭
- SSH 선택
- Remote host: EC2 퍼블릭 IP
- Username: ubuntu
- Private key: .pem 키 파일 지정
- 접속 후, 좌측은 리모트 디렉토리 탐색기, 우측은 명령어 입력 터미널
2. 서버 기본 설정
2.1 hostname 변경
sudo hostnamectl set-hostname jumpto
2.2 서버 시간대 설정 (KST)
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
서버 로그와 시스템 시간이 한국 기준으로 설정됩니다.
3. Python 및 가상환경 설정
3.1 Python 설치 확인
python3 --version
Ubuntu 기본으로 Python3 포함되어 있음
3.2 가상환경 모듈 설치 및 폴더 구성
sudo apt update
sudo apt install python3-venv
mkdir ~/projects
mkdir ~/venvs
3.3 가상환경 생성 및 활성화
cd ~/venvs
python3 -m venv myproject
cd myproject/bin
. activate
(myproject) 프롬프트가 보이면 가상환경 활성화 완료!
4. 필수 패키지 설치
가상환경 안에서 다음 패키지 설치:
pip install wheel
pip install flask
pip install flask-migrate
pip install flask-wtf
pip install email_validator
pip install flask-markdown
5. Pybo 프로젝트 클론
cd ~/projects
git clone https://github.com/pahkey/flask-pybo.git myproject
~/projects/myproject 경로에 Pybo 프로젝트가 복제됩니다.
6. 환경변수 설정 및 DB 초기화
cd ~/projects/myproject
export FLASK_APP=pybo
export FLASK_DEBUG=true
flask db init
flask db migrate
flask db upgrade
위 명령어를 통해 SQLite DB 파일이 생성되고 테이블이 구성됩니다.
7. Flask 서버 실행
flask run --host=0.0.0.0
웹 브라우저에서 아래 주소로 접속:
http://<EC2 퍼블릭 IP>:5000
Pybo 초기화 페이지가 뜨면 성공!
8. 참고: 서버 끊겨도 유지하고 싶다면?
screen 명령어로 백그라운드 세션 유지 가능:
sudo apt install screen
screen
flask run --host=0.0.0.0
Ctrl + A + D로 분리 → screen -r로 재접속
9. 결론 및 정리
오늘은 MobaXterm을 이용해 AWS EC2 Ubuntu 서버에 접속한 뒤, Python 가상환경 설정부터 Flask 프로젝트(Pybo) 설치, 데이터베이스 초기화, 서버 실행까지 전체 흐름을 실습했습니다.
CLI에 익숙하지 않은 사용자도 MobaXterm을 활용하면 손쉽게 SSH 접속과 서버 조작이 가능하며, Flask와 같은 Python 웹프레임워크를 클라우드 환경에서 직접 실행해보며 실무에 필요한 감각을 익힐 수 있었습니다.
'LG U+ Why Not SW 부트캠프 5기' 카테고리의 다른 글
| Python Streamlit 실습 - 웹 기반 대시보드부터 파일 업로드, 인터랙션 구현까지 (0) | 2025.05.09 |
|---|---|
| AWS Flask 운영환경 배포 실습 - MobaXterm 기반 서버 세팅부터 Gunicorn + Nginx 구성까지 (0) | 2025.04.07 |
| Git 입문 정리 - 로컬 저장소 생성부터 커밋, GitHub 업로드까지 (0) | 2025.04.03 |
| Flask 웹 프로젝트 - Q&A 서비스 개발 CRUD 구현과 템플릿 처리 (0) | 2025.04.03 |
| Flask 웹 프로젝트 실습 정리: 구조화, 라우팅, 템플릿, 폼 처리까지 (0) | 2025.04.03 |
