From 00508ded0f95d720a15943bb9d62579517393ae3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B1=EC=98=81?= Date: Mon, 24 Nov 2025 09:55:43 +0900 Subject: [PATCH] =?UTF-8?q?=EC=85=8B=ED=8C=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/리눅스 rocky setting.md | 114 +++++++++++++++++------------------ 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/docs/리눅스 rocky setting.md b/docs/리눅스 rocky setting.md index ab1546c..f032d97 100644 --- a/docs/리눅스 rocky setting.md +++ b/docs/리눅스 rocky setting.md @@ -142,7 +142,7 @@ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk export PATH=$JAVA_HOME/bin:$PATH # 애플리케이션 관련 환경 변수 -export APP_HOME=/app +export APP_HOME=/app/VIPS export PATH=$APP_HOME:$PATH # umask 설정 (파일 생성시 775 권한) @@ -157,7 +157,7 @@ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export PATH=$JAVA_HOME/bin:$PATH # 애플리케이션 관련 환경 변수 -export APP_HOME=/app +export APP_HOME=/app/VIPS export PATH=$APP_HOME:$PATH # umask 설정 (파일 생성시 775 권한) @@ -184,7 +184,7 @@ umask 002 # alias 설정 (편의용) alias ll=\'ls -la\' -alias app=\'cd /app\' +alias app=\'cd /app/VIPS\' ``` ### 3.4 설정 적용 @@ -220,28 +220,28 @@ umask ```bash # root 계정으로 실행 # 애플리케이션 디렉토리 생성 -mkdir -p /app -mkdir -p /app/logs -mkdir -p /app/config -mkdir -p /app/backup +mkdir -p /app/VIPS +mkdir -p /app/VIPS/logs +mkdir -p /app/VIPS/config +mkdir -p /app/VIPS/backup ``` ### 4.2 디렉토리 소유권 변경 ```bash # xit:xit 소유권으로 변경 -chown -R xit:xit /app +chown -R xit:xit /app/VIPS ``` ### 4.3 디렉토리 권한 설정 ```bash # 775 권한 설정 (소유자/그룹: rwx, 기타: r-x) -chmod -R 775 /app +chmod -R 775 /app/VIPS ``` ### 4.4 권한 확인 ```bash # 디렉토리 권한 및 소유권 확인 -ls -la /app +ls -la /app/VIPS # 출력 예시: # drwxrwxr-x. 4 xit xit 4096 Nov 19 10:00 . # drwxrwxr-x. 2 xit xit 4096 Nov 19 10:00 logs @@ -258,7 +258,7 @@ ls -la /app **방법 1: SCP 사용 (로컬 PC에서 실행)** ```bash # Windows PowerShell 또는 CMD에서 실행 -scp C:\path\to\VIPS-BOOT.war xit@서버IP:/app/ +scp C:\path\to\VIPS-BOOT.war xit@서버IP:/app/VIPS/ ``` **방법 2: SFTP 사용** @@ -267,7 +267,7 @@ scp C:\path\to\VIPS-BOOT.war xit@서버IP:/app/ sftp xit@서버IP # 파일 전송 -put VIPS-BOOT.war /app/ +put VIPS-BOOT.war /app/VIPS/ exit ``` @@ -277,7 +277,7 @@ exit su - xit # 파일 다운로드 -cd /app +cd /app/VIPS curl -O http://your-server/VIPS-BOOT.war # 또는 wget http://your-server/VIPS-BOOT.war @@ -289,12 +289,12 @@ wget http://your-server/VIPS-BOOT.war su - xit # 파일 확인 -ls -la /app/ +ls -la /app/VIPS/ ``` ### 5.3 실행 권한 부여 (필요시) ```bash -chmod 775 /app/VIPS-BOOT.war +chmod 775 /app/VIPS/VIPS-BOOT.war ``` --- @@ -307,22 +307,22 @@ chmod 775 /app/VIPS-BOOT.war su - xit # 애플리케이션 실행 -cd /app +cd /app/VIPS java -jar VIPS-BOOT.war ``` ### 6.2 백그라운드 실행 (터미널 종료 후에도 계속 실행) ```bash # nohup으로 백그라운드 실행 -nohup java -jar /app/VIPS-BOOT.war > /app/logs/app.log 2>&1 & +nohup java -jar /app/VIPS/VIPS-BOOT.war > /app/VIPS/logs/app.log 2>&1 & # 실행로그도 안남김.. 서버 부팅 로그 확인 이후 -nohup java -jar /app/VIPS-BOOT.war > /dev/null 2>&1 & +nohup java -jar /app/VIPS/VIPS-BOOT.war > /dev/null 2>&1 & # 또는 출력 분리 -nohup java -jar /app/VIPS-BOOT.war \ - 1>/app/logs/stdout.log \ - 2>/app/logs/stderr.log & +nohup java -jar /app/VIPS/VIPS-BOOT.war \ + 1>/app/VIPS/logs/stdout.log \ + 2>/app/VIPS/logs/stderr.log & ``` ### 6.3 JVM 옵션과 함께 실행 @@ -331,15 +331,15 @@ nohup java -jar /app/VIPS-BOOT.war \ nohup java \ -Xms512m \ -Xmx1024m \ - -jar /app/VIPS-BOOT.war \ + -jar /app/VIPS/VIPS-BOOT.war \ --spring.profiles.active=prod \ - > /app/logs/app.log 2>&1 & + > /app/VIPS/logs/app.log 2>&1 & ``` ### 6.4 프로세스 ID 확인 ```bash # 실행 직후 PID 저장 -echo $! > /app/app.pid +echo $! > /app/VIPS/app.pid # 또는 프로세스 검색 ps -ef | grep java @@ -364,14 +364,14 @@ netstat -tlnp | grep 8080 ### 7.2 로그 확인 ```bash # 실시간 로그 확인 -tail -f /app/logs/app.log +tail -f /app/VIPS/logs/app.log # 최근 100줄 확인 -tail -100 /app/logs/app.log +tail -100 /app/VIPS/logs/app.log # 로그에서 에러 검색 -grep -i error /app/logs/app.log -grep -i exception /app/logs/app.log +grep -i error /app/VIPS/logs/app.log +grep -i exception /app/VIPS/logs/app.log ``` ### 7.3 애플리케이션 응답 테스트 @@ -402,7 +402,7 @@ firewall-cmd --list-all ### 8.1 애플리케이션 중지 ```bash # PID 파일로 중지 -kill $(cat /app/app.pid) +kill $(cat /app/VIPS/app.pid) # 또는 프로세스 검색 후 중지 ps -ef | grep VIPS-BOOT.war @@ -415,22 +415,22 @@ kill -9 [PID번호] ### 8.2 애플리케이션 재시작 ```bash # 중지 후 시작 -kill $(cat /app/app.pid) +kill $(cat /app/VIPS/app.pid) sleep 3 -nohup java -jar /app/VIPS-BOOT.war > /app/logs/app.log 2>&1 & -echo $! > /app/app.pid +nohup java -jar /app/VIPS/VIPS-BOOT.war > /app/VIPS/logs/app.log 2>&1 & +echo $! > /app/VIPS/app.pid ``` ### 8.3 시작 스크립트 생성 (선택사항) ```bash -vi /app/start.sh +vi /app/VIPS/start.sh ``` 스크립트 내용: ```bash #!/bin/bash APP_NAME="VIPS-BOOT.war" -APP_HOME="/app" +APP_HOME="/app/VIPS" LOG_DIR="$APP_HOME/logs" PID_FILE="$APP_HOME/app.pid" @@ -452,18 +452,18 @@ echo "Application started (PID: $(cat $PID_FILE))" 스크립트 실행 권한 부여: ```bash -chmod 775 /app/start.sh +chmod 775 /app/VIPS/start.sh ``` ### 8.4 중지 스크립트 생성 (선택사항) ```bash -vi /app/stop.sh +vi /app/VIPS/stop.sh ``` 스크립트 내용: ```bash #!/bin/bash -PID_FILE="/app/app.pid" +PID_FILE="/app/VIPS/app.pid" if [ -f "$PID_FILE" ]; then PID=$(cat $PID_FILE) @@ -488,7 +488,7 @@ fi 스크립트 실행 권한 부여: ```bash -chmod 775 /app/stop.sh +chmod 775 /app/VIPS/stop.sh ``` --- @@ -504,22 +504,22 @@ vi /etc/systemd/system/myapp.service 서비스 파일 내용: ```ini [Unit] -Description=My Spring Boot Application +Description=VIPS Spring Boot Application After=network.target [Service] Type=simple User=xit Group=xit -WorkingDirectory=/app -ExecStart=/usr/lib/jvm/java-17-openjdk/bin/java -Xms512m -Xmx1024m -jar /app/VIPS-BOOT.war +WorkingDirectory=/app/VIPS +ExecStart=/usr/lib/jvm/java-17-openjdk/bin/java -Xms512m -Xmx1024m -jar /app/VIPS/VIPS-BOOT.war ExecStop=/bin/kill -15 $MAINPID Restart=on-failure RestartSec=10 # 로그 설정 -StandardOutput=append:/app/logs/app.log -StandardError=append:/app/logs/error.log +StandardOutput=append:/app/VIPS/logs/app.log +StandardError=append:/app/VIPS/logs/error.log [Install] WantedBy=multi-user.target @@ -573,21 +573,21 @@ vi /home/xit/.bash_profile # (JAVA_HOME, PATH, umask 설정 추가) # 4. 디렉토리 생성 및 권한 설정 -mkdir -p /app/logs /app/config /app/backup -chown -R xit:xit /app -chmod -R 775 /app +mkdir -p /app/VIPS/logs /app/VIPS/config /app/VIPS/backup +chown -R xit:xit /app/VIPS +chmod -R 775 /app/VIPS # 5. 소스 배포 (외부에서 파일 전송) -# scp VIPS-BOOT.war xit@서버IP:/app/ +# scp VIPS-BOOT.war xit@서버IP:/app/VIPS/ # 6. xit로 전환 후 실행 su - xit -cd /app -nohup java -jar VIPS-BOOT.war > /app/logs/app.log 2>&1 & +cd /app/VIPS +nohup java -jar VIPS-BOOT.war > /app/VIPS/logs/app.log 2>&1 & # 7. 실행 확인 ps -ef | grep java -tail -f /app/logs/app.log +tail -f /app/VIPS/logs/app.log curl http://localhost:8080/actuator/health ``` @@ -619,22 +619,22 @@ kill [PID] ### 권한 오류 발생 시 ```bash # 파일 권한 확인 -ls -la /app/ +ls -la /app/VIPS/ # 권한 재설정 -chown -R xit:xit /app -chmod -R 775 /app +chown -R xit:xit /app/VIPS +chmod -R 775 /app/VIPS ``` ### 로그 파일이 생성되지 않는 경우 ```bash # 로그 디렉토리 권한 확인 -ls -la /app/logs +ls -la /app/VIPS/logs # 디렉토리가 없으면 생성 -mkdir -p /app/logs -chown xit:xit /app/logs -chmod 775 /app/logs +mkdir -p /app/VIPS/logs +chown xit:xit /app/VIPS/logs +chmod 775 /app/VIPS/logs ``` ### 메모리 부족 오류 (OutOfMemoryError)