로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

Linux Spring 설정

lmkfox · 2025-02-03 · 조회 0
Linux Spring 설정
Linux에서 Spring Boot 애플리케이션을 설정하는 과정은 크게 다음과 같은 단계로 진행됩니다. 1. JDK 설치 및 환경 변수 설정 Spring Boot는 Java 기반이므로, 먼저 JDK가 설치되어 있어야 합니다. JDK 설치 (예: OpenJDK 17) sudo apt update # Debian/Ubuntu sudo apt install openjdk-17-jdk -y sudo yum install java-17-openjdk -y # RHEL/CentOS Java 버전 확인 java -version "openjdk version '17.0.x'" 등이 출력되면 정상적으로 설치된 것입니다. 환경 변수 설정 (필요할 경우) echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc source ~/.bashrc 2. Spring Boot 애플리케이션 실행 JAR 파일 실행 Spring Boot 프로젝트를 빌드하면 target/ 폴더 아래에 .jar 파일이 생성됩니다. 이를 실행하는 방법입니다. java -jar my-spring-app.jar 백그라운드 실행 (nohup) Linux에서 서버가 종료되어도 실행되도록 nohup을 사용합니다. nohup java -jar my-spring-app.jar > output.log 2>&1 & - output.log: 로그를 저장할 파일 - &: 백그라운드 실행 - 실행 중인 프로세스 확인: ps aux | grep java 포트 변경 (application.properties) 기본적으로 Spring Boot는 8080 포트를 사용합니다. 변경하려면 다음 설정을 추가합니다. src/main/resources/application.properties server.port=9090 또는 server: port: 9090 3. Systemd 서비스 등록 (자동 실행) Spring Boot 애플리케이션을 시스템 부팅 시 자동으로 실행되도록 systemd 서비스로 등록할 수 있습니다. 서비스 파일 생성 sudo nano /etc/systemd/system/spring-app.service 파일 내용 작성 [Unit] Description=Spring Boot Application After=network.target [Service] User=ubuntu # 실행할 사용자 WorkingDirectory=/home/ubuntu/myapp # 애플리케이션 경로 ExecStart=/usr/bin/java -jar /home/ubuntu/myapp/my-spring-app.jar SuccessExitStatus=143 Restart=always RestartSec=10 [Install] WantedBy=multi-user.target 서비스 등록 및 실행 sudo systemctl daemon-reload sudo systemctl enable spring-app sudo systemctl start spring-app sudo systemctl status spring-app 4. 방화벽 설정 Spring Boot 애플리케이션이 특정 포트에서 외부 접속을 허용하도록 방화벽을 설정해야 합니다. UFW (Ubuntu) sudo ufw allow 9090/tcp sudo ufw reload Firewalld (CentOS) sudo firewall-cmd --zone=public --add-port=9090/tcp --permanent sudo firewall-cmd --reload 5. Reverse Proxy (Nginx) 설정 Spring Boot를 8080 포트에서 실행할 경우, Nginx를 통해 80 포트로 프록시할 수 있습니다. Nginx 설치 sudo apt install nginx -y # Ubuntu/Debian sudo yum install nginx -y # CentOS/RHEL Nginx 설정 파일 수정 sudo nano /etc/nginx/sites-available/spring-app server { listen 80; server_name mydomain.com; location / { proxy_pass http://127.0.0.1:9090; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 설정 적용 sudo ln -s /etc/nginx/sites-available/spring-app /etc/nginx/sites-enabled/ sudo systemctl restart nginx 6. 로그 관리 및 모니터링 Spring Boot 애플리케이션의 로그는 기본적으로 logs/ 디렉터리에 저장됩니다. 로그 실시간 확인 tail -f logs/application.log CPU 및 메모리 사용량 확인 top htop # 설치 필요 (sudo apt install htop) 애플리케이션 종료 sudo systemctl stop spring-app # systemd 사용 시 kill $(pgrep -f 'my-spring-app.jar') # 프로세스 직접 종료

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.