서버 배포하기 & 실행하기

Ruah·2024년 9월 23일

theory

목록 보기
10/11

서버 배포 및 초기 실행

서버 배포 단계

서버준비 -> 방화벽 설정 -> Python설치 -> 가상환경 설정 -> 코드 배포 및 실행

1. 서버에 접속하기

  • 해당 폴더 이동
cd <ssh key  있는 폴더 경로 이동>
  • 서버 접속 명령어 : 서버정보와 SSH 키를 받아서 아래 명령어로 서버에 접속
ssh -i ssh-key-2024-09-23.key opc@193.xxx.xxx.xxx

2. Git 설치

  • 서버에 접속한 후 , 프로젝트를 GitHub에서 클론하려 했지만 git이 설치되어있지 않아서
  • git command not found 오류 발생.
sudo dnf install git -y
git clone https://github.com/<github ID>/<배포할repository>.git
  • 서버 접속 후 , git 명령어를 사용하여 레파지토리를 클론해야함

3. Python 설치

프로젝트에서 필요한 Python 을 구축하기 위해 python 을 설치.

sudo dnf install curl gcc openssl-devel bzip2-devel libffi-devel zlib-devel wget make -y
wget https://www.python.org/ftp/python/3.12.5/Python-3.12.5.tar.xz
tar -xf Python-3.12.5.tar.xz
cd Python-3.12.5/
./configure --enable-optimizations
make -j 2
sudo make altinstall

버전확인

python3.12 -V

프로젝트 경로 들어가기

cd ai_assistant

4. 가상환경 설정

  • python 설치가 끝난 후, 가상환경을 만들어야함.
  • 가상환경을 사용하면 프로젝트의 패키지를 독립적으로 관리 가능.
python3.12 -m venv .myenv
source .myenv/bin/activate

5.env 파일 만들고 환경변수 정의

touch

touch .env
  • touch : 파일을 새로만드는 명령어
  • 현재 디렉토리에 .env라는 빈파일을 만들고 환경변수 정의.

nano

nano .env

  • .env 파일을 열어 환경 변수를 직접 작성하거나 수정.
  • 위 같은 페이지에 환경변수 작성
    예) openAI API KEY, 데이터베이스 등의 민감 정보들
  • nano 기본 단축키:
    CTRL + O: 파일 저장.
    CTRL + X: nano 편집기 종료.
    CTRL + K: 한 줄 삭제.
    CTRL + G: 도움말 보기.

6. 필요한 패키지 설치.

  • 가상환경을 활성화 한 후, 프로젝트에서 필요한 패키지들을 설치.
  pip install load_dotenv openai fastapi uvicorn

7. 8000 포트를 외부에서 접근 가능하도록 설정

sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all # 포트가 잘 열렸는지 확인
  • Fast API 서버는 기본적으로 8000 포트에서 작동하기 때문에, 이 포트를 외부에서 접근할 수 있도록 방화벽 설정.

8. FastAPI 서버실행

uvicorn main:app --reload --host 0.0.0.0 --port 8000
  • uvicorn main:app --reload 로 서버를 실행, 8000번 포트에서 접근 가능

서버 재연결

만일 위의 초기 설치같은 것들이 필요 없고, 모든 설정이 완료가 되어있는 상태에서 다시 연결 한다면 서버 재연결은 너무나 간단해진다.

1. 서버 접속

  • ssh key가 있는 해당 폴더로 경로 이동
cd <ssh key  있는 폴더 경로 이동>
  • 서버 접속 명령어 : 서버정보와 SSH 키를 받아서 아래 명령어로 서버에 접속
ssh -i ssh-key-2024-09-23.key opc@193.***.***.***

2. 서버 프로젝트 경로 이동

cd ai_assistant

3. 미리 만들어놓았던 가상환경 시작

source .myenv/bin/activate
  • .myenv 라는 가상환경을 이미 만들어 놓았으니 실행만 하면된다.

4. 서버 실행

nohup uvicorn main:app --reload --host 0.0.0.0 --port 8000 &

서버를 백그라운드로 실행하고 싶다면 nohup을 붙여주고 그것이 아니라면 빼고 진행.

profile
집요한 주니어 개발자의 호되게 당했던 기록

0개의 댓글