Backend - Rhel 7, 8 수동 설치

 

 


리눅스 설정

초기 설정

프로젝트를 실행 하기 위한 최소한의 리눅스 Util 설정

참고: 서버 초기 설정 - Rhel 7,8

자바 설정

ICE4는 자바 11 사용, Yum으로 설치 권장, 폐쇠망에서는 Binary 설치 필요

참고: Java11 설치 - Rhel 7,8

 

Nginx 설정

Nginx 설치

Yum으로 설치 권장, 폐쇠망에서는 Binary 설치 필요

참고: Nginx 설치

Global Nginx 설정: /etc/nginx/nginx.conf

참고: Nginx global 설정(nginx.conf)

gzip 설정

서비스 성능 튜닝을 위한 정적 리소스 압축

참고: Nginx global 설정(nginx.conf) | gzip 압축 설정

Backend 서버용 설정: /etc/nginx/conf.d/backend.conf

Http통신, Https 통신에 따른 Backend 서버 설정

참고: Nginx Applicaion 서버 conf 설정

 

 


ICE4 Backend Application Linux 설치

서버 실행을 위한 필수 파일

war 파일

  • 저장경로: /app/ice4/{프로젝트명}-{서버타입}/core/output/backend-core-0.0.1-SNAPSHOT.war

  • (예시) /app/ice4/demo-dev/core/output/backend-core-0.0.1-SNAPSHOT.war

shell 스크립트 파일

  • 저장경로: /app/ice4/{프로젝트명}-{서버타입}/core/shell/ice4-linux.sh

  • (예시) /app/ice4/demo-dev/core/shell/ice4-linux.sh

 

쉘 스크립트 설정

수동 설치시에는 ice4-linux.sh 파일을 활용해 start / stop 명령 실행

참고: 프로젝트 생성 - Backend | Shell Script 설정

 

홈 디렉토리 설정

참고: ICE4 서버 네이밍룰 표준 가이드- Rhel 7,8

 

리눅스 서버에 소스 저장: /app/ice4/{프로젝트명}-{서버타입}/core

Option 1. 서버에서 Git clone 후 빌드 & 실행

Git 에서 소스 내려받기

프로젝트 경로로 이동

cd /app/ice4/{프로젝트명}-{서버타입}

  • (예시) cd /app/ice4/demo-dev

 

git clone

git clone -b {브랜치명} {Git URL}

  • (예시) git clone -b project/DEMO http://dcsf-dev08.i-on.net/dxp/backendcore.git

 

폴더명 변경

mv backendcore core

 

최종 파일 저장 예시

해당 프로젝트 폴더 /app/ice4/{프로젝트명}-{서버타입}/core에 git에서 내려받은 파일이 저장되어야함

 

backend 빌드 실행

./gradlew build -x test

 

빌드 파일 확인

{프로젝트폴더}/output/backend-core-0.0.1-SNAPSHOT.war

  • 빌드 에러시: Could not get file mode for '/app/ice4/demo-dev/core/src/main/webapp/WEB-INF/jsp/easyPay/mobile/????????????????????????????????????.html'.

    • 해당 파일 삭제

      • 한글로 작성된 파일명 문제로 서버에서 빌드 시 에러

 

 

Option 2. SFTP로 빌드 파일 저장

폴더 생성

프로젝트에 사용할 관련 폴더 생성

생성 필요한 폴더 리스트

  • /app/ice4

  • /app/ice4/{프로젝트명}-{서버타입}/core/output

    • (예시) /app/ice4/demo-dev/core/output

  • /app/ice4/{프로젝트명}-{서버타입}/core/shell

 

쉘 스크립트 & war파일 저장용 폴더 생성

mkdir -p /app/ice4/{프로젝트명}-{서버타입}/core/output && mkdir -p /app/ice4/{프로젝트명}-{서버타입}/core/shell

  • (예시) mkdir -p /app/ice4/demo-dev/core/output && mkdir -p /app/ice4/demo-dev/core/shell

filezilla나 SecureCRT를 활용하여 파일 저장

backend 로컬 빌드

macOS

  1. 터미널 실행 후 프로젝트 폴더로 이동

  2. ./gradlew build -x test 실행

  3. {프로젝트}/output 폴더에 해당 파일 생성 확인

windows10

  1. 커맨드 실행 후 프로젝트 폴더로 이동

  2. gradlew build -x test 실행

 

파일 FTP로 서버에 저장

war 파일 저장

저장경로: /app/ice4/{프로젝트명}-{서버타입}/core/output/backend-core-0.0.1-SNAPSHOT.war

shell 파일 저장

저장경로: /app/ice4/{프로젝트명}-{서버타입}/core/shell/ice4-linux.sh

 

 


서버 실행

파일 위치: /app/ice4/{프로젝트명}-{서버타입}/core/shell/ice4-linux.sh

서버 시작

./ice4-linux.sh start

스키마 로드

프로젝트 start 후 실행시, 서버가 정상 상태(status code 200)일 때 자동으로 스키마 로드

./ice4-linux.sh loadSchema

서버 종료

./ice4-linux.sh stop

로그 확인

cd /app/ice4/{프로젝트명}-{서버타입}/logs/core/

tail -f ice4.log