우분투 서버 제작

Leeys·2022년 7월 27일
0

한이음2

목록 보기
1/8

인스턴스 준비

aws EC2인스턴스 생성 -> 보안그룹을 다음과 같이 설정 -> key를 이용한 ssh 접속(인바운드)



자바

스프링 프로젝트 환경에 맞는 jdk, jre 설치

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openjdk-11-jre
sudo apt-get install openjdk-11-jdk
sudo apt-get install tomcat

자바 환경변수 설정


readlink해서 얻은 주소를 마지막 줄에 추가


인스턴스 재부팅후 환경변수 확인

파이썬

파이썬 3.7 설치(프로젝트에서 사용한 파이썬 버젼)

3.7.9 바이너리 파일을 서버에서 직접 다운로드
빌드를 위한 파일 추가

sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz

wget을 하려면 우분투 서버에서 밖으로 요청을 보내야 하므로 인바운드 규칙에 tcp 청을 허용하도록 편집하고 서버 리부트(오는걸 받아야되서 아웃 바운드 규칙도 해줘야함)

받았으면 압축 풀고 빌드 진행

tar xzf Python-3.7.9.tgz
cd Python-3.7.9
sudo ./configure --enable-optimizations
sudo make altinstall

자바와 똑같이 환경변수 설정

번거로운 과정이므로 다른 방법 사용

파이썬 3.7과 가상환경 적용 (가상환경 안쓰고 그냥 우분투에 기존 파이썬 사용해도 잘돼서 안씀)

파이썬 3.7, venv 설치

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get install python3.7-venv

가상환경 디렉토리 활성화

mkdir han_venv
cd han_venv
python3.7 -m venv han_venv
source han_venv/bin/activate

프로젝트에 쓰인 파이썬 라이브러리들 설치

pip install --upgrade pip
pip install numpy==1.16.6
pip install torch==1.12.0 --no-cache-dir
(생략)

가상환경 라이브러리 폴더에 머신러닝 모델 라이브러리 추가(git 이용)

가상환경 라이브러리 경로

윈도우로 돌아와서 git에 필요한 파이썬 라이브러리 올리기

C:\Users\Administrator\Desktop\hanium\gitFiles>git init
C:\Users\Administrator\Desktop\hanium\gitFiles>git remote add origin https://lab.hanium.or.kr
C:\Users\Administrator\Desktop\hanium\gitFiles>git clone https://lab.hanium.or.kr
C:\Users\Administrator\Desktop\hanium\gitFiles>cd 22_hf252

git 로컬 폴더에 라이브러리 추가

원격 폴더 업데이트

C:\Users\Administrator\Desktop\hanium\gitFiles\22_hf252>git add .
C:\Users\Administrator\Desktop\hanium\gitFiles\22_hf252>git commit -m "ML_lib"
C:\Users\Administrator\Desktop\hanium\gitFiles\22_hf252>git push -u origin master

파이썬 모델 올리는 중 100mb 이상을 git으로 업로드 하는 방법
https://medium.com/@stargt/github%EC%97%90-100mb-%EC%9D%B4%EC%83%81%EC%9D%98-%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%98%AC%EB%A6%AC%EB%8A%94-%EB%B0%A9%EB%B2%95-9d9e6e3b94ef

우분투로 돌아와서 방금 올린 git 폴더 다운로드

ubuntu@ip-172-31-35-32:~/gitFiles$ git remote add -f origin https://lab.hanium.or.kr/22_HF252/22_hf252.git
git config core.sparseCheckout true (git 원격 폴더에 특정 파일만 타겟할 수 있게해줌)
echo "AI/lib/" >> .git/info/sparse-checkout
git pull origin master

받은 git 파일을 우분투 파이썬 가상환경 라이브러리 폴더에 이동하기


스프링 부트 우분투에서 배포

윈도우

jar 파일 생성(인텔리제이)

gradle탭에서 bootJar

Task :bootJarMainClassName FAILED <- 에러가 뜬다면
build.gradle에 메인클래스 지정
bootJar { mainClass = 'testServer_han.demo.TestServerHanApplication' }

생성된 jar파일

git에 jar파일 올리기

로컬 repository에 jar 파일 추가

git에 push

우분투

git에 올린거 pull

8080포트에 tcp 접속 허용

java -jar [jar파일명] 으로 서버 실행

  • 파이썬 라이브러리가 가상환경에 세팅되어 있어서 파이썬 가상환경 접속후 jar 실행

서버 종료 후에도 포트에서 대기중일 때

sudo apt-get install net-tools 후

(pid로 죽이기)

우분투에서 파이썬, 자바 각 실행했을 때 경로가 달라질 수 있으니 계속 확인하면서 프로젝트 파일을 적절한 경로에 배치하고 소스코드를 수정해야 한다

profile
공부 리마인드

0개의 댓글