728x90
반응형
1. 서비스 파일 생성
- /etc/systemd/system/ 디렉토리에 .service 파일을 생성합니다. 예를 들어, myapp.service라는 파일을 만듭니다.
sudo vi /etc/systemd/system/myapp.service
2. 서비스 파일 내용 작성
- 아래와 같은 내용으로 서비스 파일을 작성합니다. 경로와 옵션은 실제 환경에 맞게 조정해야 합니다.
[Unit]
Description=My Java Application
[Service]
User=root
ExecStart=/usr/bin/java -jar /path/to/your/myapp.jar
[Install]
WantedBy=multi-user.target
- [Unit] 섹션: 서비스 파일의 메타 데이터와 서비스의 종속성을 정의합니다.
- Description=My Java Application: 이 서비스에 대한 설명입니다. 이 경우 "My Java Application"이라는 이름으로 서비스를 설명하고 있습니다.
- [Service] 섹션: 서비스의 동작 방식을 정의합니다.
- User=root: 이 서비스가 어떤 사용자 권한으로 실행될지 정의합니다. 여기서는 최고 관리자 권한인 root로 설정되어 있습니다.
- ExecStart=/usr/bin/java -jar /path/to/your/myapp.jar: 서비스를 시작할 때 실행되는 명령어입니다. 이 경우, Java 애플리케이션을 시작하기 위해 java -jar 명령어를 사용하여 특정 .jar 파일을 실행합니다.
- [Install] 섹션: 이 서비스가 어떻게 설치될지, 어느 대상에 의해 자동으로 시작될지 정의합니다.
- WantedBy=multi-user.target: 이 서비스가 어떤 대상에 의해 시작되길 원하는지 정의합니다. multi-user.target은 시스템이 다중 사용자 모드로 부팅될 때 해당 서비스가 시작되도록 요청합니다. 이는 기본적으로 그래픽 사용자 인터페이스(GUI)가 없는, 여러 사용자가 접근 가능한 런레벨에서 서비스가 시작되어야 함을 의미합니다.
3. systemd 서비스 활성화 및 시작
- systemd를 사용해 서비스를 활성화하고 시작합니다.
sudo systemctl daemon-reload
sudo systemctl enable myapp.service
sudo systemctl start myapp.service
- sudo systemctl daemon-reload: 이 명령어는 systemd 데몬을 리로드하여, 수정된 유닛 파일(.service 파일 등)의 최신 버전을 읽어들입니다. 즉, 서비스 설정 파일이 변경되었을 때, 그 변경사항을 systemd 시스템이 인식할 수 있도록 하는 명령어입니다. 유닛 파일의 변경사항을 적용하기 위해 주로 사용됩니다 .
- sudo systemctl enable myapp.service: 이 명령어는 시스템 부팅 시 myapp.service 서비스를 자동으로 시작하도록 설정합니다. 서비스를 "활성화"하는 것이며, 이렇게 함으로써 시스템이 시작될 때 해당 서비스도 함께 시작되도록 구성할 수 있습니다. 즉, 서비스가 부팅 시 자동으로 실행되게 만드는 명령어입니다 .
- sudo systemctl start myapp.service: 이 명령어는 myapp.service 서비스를 즉시 시작합니다. 서비스가 현재 비활성 상태일 경우, 이 명령어를 통해 서비스를 활성화하고 실행할 수 있습니다. 명령어 실행 즉시 서비스가 시작되며, 이는 서비스를 수동으로 시작할 때 사용됩니다 .
728x90
반응형
'개발 > 리눅스' 카테고리의 다른 글
[CentOS7] yum 명령어 오류 해결 (Could not resolve host: mirrorlist.centos.org; 알 수 없는 오류) (4) | 2024.07.03 |
---|---|
[CentOS7] [Spring Boot] [WebSocket] WebSocket Server 연결안되는 현상 (0) | 2024.06.13 |
[Ubuntu] Openjdk 21 설치방법(java version upgrade) (0) | 2023.12.05 |
nohup, &, 표준입출력 리다이렉션 (0) | 2022.12.15 |
sh bash 차이점 (0) | 2022.12.14 |