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 설정
자바 설정
ICE4는 자바 11 사용, Yum으로 설치 권장, 폐쇠망에서는 Binary 설치 필요
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
터미널 실행 후 프로젝트 폴더로 이동
./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