layout : post
title : "Jar 배포 방법"
category : Spring
스크립트 작성
#!/bin/bash
PID=`cat ./java.pid`
kill -9 $PID
nohup java -jar -Duser.language=ko -Duser.country=KR -Duser.timezone=Asia/Seoul -Dspring.profiles.active=product ./java.jar > /var/log/java/$GET_DATE.log 2 >&1 & echo $! > ./java.pid
PM2 사용
PM2 설치
npm install -g pm2
PM2 실행 설정 파일 작성
{
"apps": [{
"name": "test-api",
"cwd": ".",
"args": [
"-Dspring.profiles.active=product",
"-Duser.timezone=UTC",
"-Duser.country=KR",
"-Duser.language=ko",
"-jar",
"/home/ubuntu/java.jar"
],
"watch": [
"/home/ubuntu/java.jar"
],
"env": {
},
"script": "/usr/bin/java",
"node_args": [],
"log_date_format": "YYYY-MM-DD HH:mm Z",
"exec_interpreter": "none",
"exec_mode": "fork"
}]
}
pm2 start java.json
pm2 list
사용하면 실행됨을 확인 할 수 있다.
재시작시
pm2 restart java.json
로그의 기본적인 저장 위치는 아래와 같다
cat ~/.pm2/logs/java-out
로그 파일을 라이브러리 설치를 통해 관리 할 수 있다.
pm2 install pm2-logrotate
pm2-logrotate 설정을 변경
pm2 set pm2-logrotate:<param> <value>
[Exmaple]
// force rotate every minute
pm2 set pm2-logrotate:rotateInterval '*/1 * * * *'
// 1KB
pm2 set pm2-logrotate:max_size 1K
// compress logs when rotated
pm2 set pm2-logrotate:compress true
// 날짜 포맷
pm2 set pm2-logrotate:dateFormat YYYYMMDD_HHmmss
//타임존
pm2 set TZ Asia/Seoul
//파일 갯수
pm2 set pm2-logrotate:retain 1000
// 재시작
pm2 startup
//이후 아래와 같이 커맨드 나오는거 복사해서 입력
sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu
'IT > Spring' 카테고리의 다른 글
2021-11-16-SpringAdmin (0) | 2023.02.28 |
---|---|
2021-10-15-SpringCloud (0) | 2023.02.28 |
2021-09-30-JPA 관계 찾지 못하는 경우 (1) | 2023.02.28 |
2021-09-09-WebClient (0) | 2023.02.28 |
2021-09-09-JSON Naming (0) | 2023.02.28 |
댓글