-
[streamlit] 원격VM으로 streamlit 앱 배포하기Programing/python 어플 개발 2024. 3. 30. 17:38반응형
이전 글에서는 streamlit sharing을 통해 앱을 쉽게 배포하는 방법에 대해 다루었습니다.
쉽게 배포하고 git에 올리면 자동으로 수정되어 배포된다는 점이 매우 큰 장점이지만
커스터마이징에 한계가 있고, 타 서비스들과 연계하기 어렵다는 단점이 있습니다.
일주일에 한번 이상 접속하지 않으면 일종의 휴면모드로 전환된다는 단점도 있습니다.
이번에는 AWS EC2, OCI VM 등의 클라우드 서비스의 인스턴스를 이용해 배포하는 방법을 다뤄보겠습니다.
0. 사전준비
- EC2, VM등의 원격 인스턴스 생성
- streamlit 앱을 github등에 push + 원격VM에 clone or pull
1. git clone
2. streamlit run
python3 -m streamlit run {your_streamlit_app.py}
이 상태에서 안내된 External URL로 들어간다면
안됩니다.
인바운드규칙에서 port를 안열어줬기 때문입니다.
3. 인바운드 규칙 변경
참고) streamlit의 기본 포트설정은 8501 입니다.
1) AWS일 경우
2) OCI일 경우
a. iptable 설정
b. 수신규칙 추가(1. VCN 수신규칙(ingress rule) 추가 참조)
4. 결과확인
다시 External Url로 들어가보면
5. 번외: nohup
nohup으로 서버/터미널 접속 끊어도 계속 작동되도록 할 수 있습니다.
nohup python3 -m streamlit run {your_streamlit_app.py}
반응형'Programing > python 어플 개발' 카테고리의 다른 글
[streamlit] streamlit앱 배포하기 (1) 2024.03.26 kivy 어플에 소리 넣기 (kivy SoundLoader) (0) 2022.05.06 Kivy 기능 분할하기 (split file & class) (0) 2022.05.05 kivyMD로 시계 위젯 띄우기(KivyMD TimePicker) (0) 2022.05.01 KivyMD를 이용해 Kivy 디자인을 더 쉽게 지정하기 (3) 2022.04.29