Backend - Rhel 7, 8 수동 설치
- 1 리눅스 설정
- 1.1 초기 설정
- 1.2 자바 설정
- 1.3 Nginx 설정
- 1.3.1 Nginx 설치
- 1.3.2 Global Nginx 설정: /etc/nginx/nginx.conf
- 1.3.2.1 gzip 설정
- 1.3.3 Backend 서버용 설정: /etc/nginx/conf.d/backend.conf
- 2 ICE4 Backend Application Linux 설치
- 2.1 서버 실행을 위한 필수 파일
- 2.2 쉘 스크립트 설정
- 2.3 홈 디렉토리 설정
- 2.4 리눅스 서버에 소스 저장: /app/ice4/{프로젝트명}-{서버타입}/core
- 2.4.1 Option 1. 서버에서 Git clone 후 빌드 & 실행
- 2.4.1.1 Git 에서 소스 내려받기
- 2.4.1.2 backend 빌드 실행
- 2.4.1.3 빌드 파일 확인
- 2.4.2 Option 2. SFTP로 빌드 파일 저장
- 2.4.2.1 폴더 생성
- 2.4.2.2 쉘 스크립트 & war파일 저장용 폴더 생성
- 2.4.2.3 filezilla나 SecureCRT를 활용하여 파일 저장
- 2.4.2.3.1 backend 로컬 빌드
- 2.4.2.3.2 파일 FTP로 서버에 저장
- 2.4.1 Option 1. 서버에서 Git clone 후 빌드 & 실행
- 3 서버 실행
리눅스 설정
초기 설정
프로젝트를 실행 하기 위한 최소한의 리눅스 Util 설정
참고: https://ionsdp.atlassian.net/wiki/spaces/ICE4P/pages/1756037462
자바 설정
ICE4는 자바 11 사용, Yum으로 설치 권장, 폐쇠망에서는 Binary 설치 필요
참고: https://ionsdp.atlassian.net/wiki/spaces/ICE4P/pages/763691009
Nginx 설정
Nginx 설치
Yum으로 설치 권장, 폐쇠망에서는 Binary 설치 필요
참고: Nginx 설치
Global Nginx 설정: /etc/nginx/nginx.conf
참고: https://ionsdp.atlassian.net/wiki/spaces/ICE4P/pages/1722090354
gzip 설정
서비스 성능 튜닝을 위한 정적 리소스 압축
Backend 서버용 설정: /etc/nginx/conf.d/backend.conf
Http통신, Https 통신에 따른 Backend 서버 설정
참고: https://ionsdp.atlassian.net/wiki/spaces/ICE4P/pages/1722090431
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 명령 실행
홈 디렉토리 설정
참고: https://ionsdp.atlassian.net/wiki/spaces/ICE4P/pages/1784152370
리눅스 서버에 소스 저장: /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
터미널 실행 후 프로젝트 폴더로 이동
./gradlew build -x test
실행{프로젝트}/output 폴더에 해당 파일 생성 확인
windows10
커맨드 실행 후 프로젝트 폴더로 이동
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