클라우드응용SW개발

[Cloud] 2주차-4. Azure Linux 서버 기반 Streamlit App 개발 실습

tryinto_gmlt 2026. 3. 24. 06:04

⭐ Streamlit

Python 개발자들이 웹 애플리케이션을 쉽고 빠르게 만들 수 있도록 도와주는 오픈소스 프레임워크

특징

  • 간편한 사용성: HTML, CSS, JavaScript 지식 없이 Python 코드만으로 웹 애플리케이션 개발 가능
  • 빠른 프로토타이핑: 코드 수정 시 즉시 결과가 반영되어 빠른 개발과 테스트 가능
  • 다양한 위젯 지원: 슬라이더, 드롭다운, 체크박스 등 다양한 인터랙션 요소 제공
  • 데이터 시각화 지원: Matplotlib, Plotly, Altair 등과 다양한 시각화 라이브러리와 연동하여 복잡한 데이터도 쉽게 시각화 가능

 

실습

1) Streamlit 라이브러리를 Python 환경에 설치

pip install streamlit

 

2) Python 정상 설치 확인

python3 --version

Ubuntu는 기본적으로 python 대신 python3 사용하기 때문에 python --version가 아닌 python3 --version을 사용해야 한다

 

3) Python 실행(인터프리터 모드),

quit()을 사용하여 종료

python3

 

4) Streamlit 실행 테스트

  • 설치는 됐는데 PATH에 등록 안 된 상황이기 때문에 에러 발생
  • exit 명령어를 통해 로그아웃 한 후, ssh [옵션] [사용자명]@[호스트명 또는 IP 주소]로 재접속

 

5) 가상 머신의 '네트워킹' - '네트워크 설정'에서 인바운트 포트 규칙을 만든다.

대상 포트 범위: 8501

프로토콜: TCP

왜 인바운드 포트 규칙을 만드냐?
기본적으로 Azure VM은 보안을 위해 방화벽(NSG)이 설정되어 있어 외부 접근이 차단되어 있음
따라서 특정 포트로 들어오는 연결만 허용하도록 인바운드 포트 규칙을 설정해야 함

Streamlit과 같은 웹 애플리케이션의 기본 포트 = 8501
→ 외부 접속을 위해 8501/TCP 포트를 열어줘야 함

 

6) 다시 Streamlit 실행,

웹 브라우저를 통해 Streamlit 페이지 확인

streamlit hello

브라우저에서 External URL로 접속한 결과

  • Local URL: 내 컴퓨터 안에서만 열리는 주소
  • Network URL: 같은 와이파이/서버끼리만 접속 가능
  • External URL: 인터넷 어디서든 접속 가능한 진짜 서비스 주소, 브라우저로 접속하는 주소

이런 식으로 streamlit 서버를 종료시켜버리면 링크 접속이 안된다

 

7) Python 파일 생성 후, Streamlit 코드 작성

vi st.py

 

8) 작성한 Python 파일을 Streamlit 웹 서버로 실행

브라우저에서 External URL로 접속한 결과