3. 우분투 서버에 깃허브 클론 및 설정 세팅
스프링 프로젝트 최초 배포 시에 필요한 깃허브 클론 및 설정 세팅 절차를 정리했다.
git --version
- 깃허브 다운받기
- gradlew 실행권한 주기
chmod u+x gradlew - 자바 설치 jdk, jre
sudo apt install openjdk-11-jdk
- gradlew 프로젝트를 jar 파일로 바꾸기
./gradlew build
꼭 ./ 붙이기(현재 폴더라는 의미)
-> build 라는 폴더가 생김
- 시간설정
- jar 파일 실행
java -jar v1-0.0.1-SNAPSHOT.jar
java -jar *.jar
- nohup 실행
nohup java -jar v1-0.0.1-SNAPSHOT.jar 1>log.out 2>err.out &
log.out 에만 로그 남음 / 에러 발생 시 err.out에 로그 남음
build.gradle에 아래 내용 추가 필요
// plain archive는 애플리케이션 실행에 필요한 모든 의존성을 포함하지 않고 작성된 소스코드의 클래스 파일과 리소스 파일만 포함한다.
// 이렇게 생성된 *plain.jar 파일은 모든 의존성이 존재하는게 아니기 때문에 java -jar 명령어로 실행시 에러가 발생한다.
// 아래 코드는 jar 빌드시에 plain.jar 파일이 생성되지 않게 해주는 코드이다.
build.gradle에 아래 코드 추가 필요 / 안하면 plain 파일이 추가로 생성되어 java -jar *.jar 이렇게 실행할 때 오류날 수 있다.
jar {
enabled = false
}
nohup
리눅스에서 프로세스를 실행한 터미널 세션 명령이 끊어지더라도 계속 실행될 수 있게 해주는 명령어
nohub java -jar *.jar
근데 안됨, 포그라운드로 실행했기 때문에 종료하면 꺼짐
백그라운드로 실행해야 한다.
nohub java -jar *.jar & 백그라운드 실행
로그가 그냥 안뜸
nohup.out 파일에 로그를 남긴다
-> tail -f nohup.out 으로 계속 로그 볼 수 있음
nohup java -jar *.jar > mylog.out &
nohup java -jar v1-0.0.1-SNAPSHO1T.jar &
밑줄처럼 잘못실행 했을 경우 ->
에러출력됨 = 2
그후 정상실행 후 nohup.out 보면 에러출력과 정상출력 파일 중 에러출력 파일에 로그 있음
이것을 나누는 방법
nohup java -jar 파일명1>log.out 2>err.out &
nohup java -jar v1-0.0.1-SNAPSHOfT.jar 1>log.out 2>err.out & (잘못입력)
err.out에만 로그 남음
nohup java -jar v1-0.0.1-SNAPSHOT.jar 1>log.out 2>err.out &
log.out 에만 로그 남음
시간세팅
timedatectl 현재정보 확인
timedatectl list-timezones | grep Seoul : 목록 확인
timedatectl set-timezone Asia/Seoul
ps -ef | grep *.jar | grep -v grep | awk '{print $2}'
34300
(pgrep -f *.jar 명령어 -> 위와 동일)