1. 프로세스·포트 확인

  • lsof -i :8080
    포트 8080을 사용 중인 프로세스 확인
  • ps aux \| grep java
    실행 중인 Java 프로세스 검색

2. JAR 파일 검사·실행

  • file app.jar
    파일 형식(Zip/JAR 등) 확인
  • jar tf app.jar 또는 unzip -l app.jar
    JAR 내부 목록 조회
  • unzip -p app.jar META-INF/MANIFEST.MF
    매니페스트 내용 출력
  • java -jar app.jar --server.port=8080
    포트 지정해 JAR 직접 실행

3. 서비스 관리 (systemd)

  • sudo vi /etc/systemd/system/yeol-post-api.service
    서비스 단위 파일 수정
  • sudo systemctl stop yeol-post-api
    서비스 중지
  • sudo systemctl start yeol-post-api
    서비스 시작
  • sudo systemctl restart yeol-post-api
    서비스 재시작
  • sudo systemctl daemon-reload
    단위 파일 변경 적용
  • journalctl -u yeol-post-api -n 50 --no-pager
    최근 50줄 로그 확인

4. 파일·디렉토리 권한

  • ls -l /home/deploy/app/app.jar
    파일 소유·권한 확인
  • ls -ld /home/deploy/app
    디렉토리 권한 확인
  • sudo chown -R deploy:deploy /home/deploy/app
    소유자 변경
  • sudo chmod -R u+rwX /home/deploy/app
    권한 부여

5. CI/CD 서버 배포 스크립트 (GitHub Actions)

  • actions/upload-artifact / path: build/libs/*.jar
    빌드 산출물 업로드
  • actions/download-artifact / path: deploy/
    배포용 아티팩트 다운로드
  • scp deploy/app.jar user@host:/home/deploy/app/app.jar
    원격 서버에 JAR 복사
  • ssh -o StrictHostKeyChecking=no user@host "…"
    원격 명령 실행
  • rm -f app.jar
    기존 JAR 삭제
  • cd deploy && mv *.jar app.jar
    최신 스냅샷 JAR 리네임

6. 시스템 모니터링

  • top / htop
    실시간 CPU·메모리·프로세스 모니터링
  • free -h
    메모리 사용 현황 (human-readable)
  • vmstat 2 5
    CPU·메모리·I/O 상태 요약 (2초 간격 5회)
  • mpstat 2 5
    CPU 코어별 통계 (2초 간격 5회)
  • cat /proc/meminfo
    메모리 상세 정보

7. Vim 편집

  • Ndd
    커서 줄 포함 N줄 삭제
  • :10,20d
    10~20번 줄 삭제
  • V + 방향키 + d
    비주얼 모드로 줄 선택 후 삭제
  • :%d
    파일 전체 내용 삭제
  • ggdG
    첫 줄부터 끝 줄까지 삭제