웹 애플리케이션 서버를 백그라운드에서 실행하면 터미널을 닫아도 서버가 계속 작동합니다. 이는 서버 유지 관리나 재부팅 시 유용합니다. 이 글에서는 nohup 명령어를 사용하여 Java 애플리케이션을 백그라운드에서 실행하는 방법을 설명합니다.
1. 필요한 도구 설치
먼저, Java가 설치되어 있어야 합니다. 설치되지 않은 경우, 다음 명령어를 사용하여 설치합니다.
Ubuntu/Debian:
sudo apt update
sudo apt install default-jre
CentOS/Fedora:
sudo yum install java-1.8.0-openjdk
2. 애플리케이션 실행하기
nohup 명령어를 사용하여 애플리케이션을 백그라운드에서 실행합니다. & 연산자를 사용하면 프로세스를 백그라운드에서 실행할 수 있습니다.
nohup java -jar community-22.9.1.0.war &
위 명령어를 실행하면 다음과 같은 메시지가 나타납니다.
nohup: ignoring input and appending output to 'nohup.out'
3. 실행 상태 확인하기
서버가 백그라운드에서 정상적으로 실행되고 있는지 확인하려면 ps 명령어를 사용합니다.
ps aux | grep java
4. 로그 확인하기
애플리케이션의 로그를 확인하려면 nohup.out 파일을 확인합니다.
tail -f nohup.out
5. 프로세스 종료하기
백그라운드에서 실행 중인 프로세스를 종료하려면 kill 명령어를 사용합니다. 먼저 프로세스 ID(PID)를 찾습니다.
ps aux | grep java
그런 다음, kill 명령어를 사용하여 해당 프로세스를 종료합니다.
kill <PID>
예를 들어, PID가 1234인 경우.
kill 1234
6. 추가 팁: screen 또는 tmux 사용하기
nohup 대신 screen이나 tmux와 같은 도구를 사용하면 더 유연하게 터미널 세션을 관리할 수 있습니다. 이 도구들은 세션을 분리하고 다시 연결할 수 있는 기능을 제공합니다.
screen 설치 및 사용.
sudo apt install screen # Ubuntu/Debian
sudo yum install screen # CentOS/Fedora
screen
java -jar community-22.9.1.0.war
세션을 분리하려면 Ctrl+A를 누른 후 D를 누릅니다. 다시 연결하려면 다음 명령어를 사용합니다.
screen -r
결론
서버를 백그라운드에서 실행하는 것은 서버 유지 관리 및 안정성을 위해 매우 중요합니다. nohup 명령어와 & 연산자를 사용하여 Java 애플리케이션을 백그라운드에서 실행하면, 터미널을 닫아도 서버가 계속 작동합니다. 또한 screen 또는 tmux와 같은 도구를 사용하여 더 유연하게 터미널 세션을 관리할 수 있습니다. 이 방법들을 통해 서버의 가용성을 높이고, 유지 관리 작업을 더욱 원활하게 수행할 수 있습니다.
'Linux' 카테고리의 다른 글
리눅스에서 네트워크 패킷 테스트: 네트워크 성능과 보안 점검 (0) | 2025.03.18 |
---|---|
tail 명령어 활용법 (0) | 2024.07.16 |
#Linux 3 (2) | 2022.11.08 |
#Linux 2 (0) | 2022.11.07 |
#Linux 1 (0) | 2022.11.07 |