Streamlit 페이지 AWS에 배포

반야·2024년 6월 28일
0
post-thumbnail

인스턴스 생성

  1. 상단 검색바에 EC2 검색
  2. 왼쪽 사이드 바에서 인스턴스 클릭
  3. 우상단 인스턴스 시작 클릭

  4. 인스턴스 이름 작성 후, Ubuntu 선택

  5. 키 페어 생성 후, 저장 필수!
    이후 인스턴스를 SSH로 접속하려면 필요하다.

  6. Anaconda 설치를 해야하기에 16GiB로 설정

  7. 인스턴스 시작 클릭


SSH로 인스턴스 접속

  1. 생성한 인스턴스 체크 후, 우상단 인스턴스 시작 클릭

  2. SSH 클라이언트 탭 선택 후, 아래 를 복사한다.

  3. Windows PowerShell을 열어서 복사한 내용을 붙여넣고, 키 페어의 위치에 맞게 경로를 수정한다.


Conda 설치

  1. https://www.anaconda.com/download/success 에서 다운로드 링크를 우클릭해서 복사한다.

  2. wget [복사한 링크]로 아나콘다를 다운로드한다.

  3. 다운로드 받은 파일을 sh로 실행한다.

  4. conda 명령어 설정을 한다.
    vi ~/.bashrc로 .bashrc 편집기를 열고

    파일의 맨 마지막에 아래 문구를 넣는다.

    export PATH=~/anaconda3/bin:~/anaconda3/condabin:$PATH

    source ~/.bashrc로 수정한 내용을 적용한다.
    conda -V를 실행해서 버전이 확인되면 끝!

    만약 버전 확인이 안되는 경우, 인스턴스를 중지했다가 다시 시작한다.

  5. conda 가상 환경 접속
    python --version으로 설치된 버전을 확인 후,
    conda create -n [이름] python=[버전]로 가상환경을 만든다.

    conda update -n base -c defaults conda로 conda를 업데이트하고
    conda activate [이름]로 가상 환경에 접속한다.


Streamlit 실행

  1. git clone [깃허브 주소]로 실행할 streamlit app 파일을 가져온다.

    아마도 private repository라면 로그인을 해야하는데 Password에 token을 넣는다.

    Settings -> Developer settings -> Personal acess tokens -> Tokens (classic)에서 새 token을 만든다.
    token을 만들 때는 repo, read:org, gist에 체크를 해준다.

    생성된 token은 한번만 보여지니 안전한 곳에 저장하자.


  2. Streamlit 설치

    sudo apt update
    sudo apt upgrade
    sudo apt install python3-pip
    pip install streamlit

    을 순서대로 실행하고

    streamlit app 파일이 있는 디렉토리로 이동해서
    streamlit run [실행파일].py를 실행한다.

    이때 필요한 라이브러리가 있다면 설치해준다.
    ex) langchain 등


  3. 이때 그냥 실행하면 Windows Powershell을 종료했을 때 Streamlit 또한 같이 종료되기 때문에,

    nohup streamlit run [실행파일].py

    으로 실행할 수도 있다.

    나중에 streamlit app 실행을 종료하려면

    ps -ef | grep streamlt
    kill -9 [PID 값]

    을 입력하면 된다.


페이지 접속

  1. 보안 규칙 수정
    파란색 글씨로 표시된 (launch-wizard-4)를 클릭한다.

    이후 인바운드 규칙 편집으로 들어가서
    아래 사진처럼 HTTPS, HTTP와 사용자 지정 TCP에서 8501 포트(Streamlit이 사용하는 포트)를 추가해준다.

  2. 퍼블릭 IPv4 주소를 복사하고 뒤에 :8501 덧붙여 주소에 붙여넣으면 접속할 수 있다.

profile
SKKU_CSE_23

0개의 댓글