일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- AWS
- laravel
- IntelliJ
- Design Patterns
- Spring Batch
- springboot
- jenkins
- tool
- redis
- javascript
- Oracle
- MySQL
- ubuntu
- php
- 요리
- jsp
- Web Server
- Spring
- devops
- Spring Boot
- ReactJS
- db
- java
- it
- 맛집
- Gradle
- Git
- elasticsearch
- JVM
- linux
Archives
- Today
- Total
아무거나
[centos] 프로세스 systemd에 등록 및 서버 재부팅시에 자동 실행하게 등록 본문
반응형
프로세스 systemd에 등록 및 서버 재부팅시에 자동 실행하게 등록
1. systemd에 service 파일 생성 [test.service]
$ sudo vi /usr/lib/systemd/system/test.service
// 내용
[Unit]
// systemctl status 명령어에 표시되는 상세 설명
Description=test
// 유닛이 시작되는 순서를 조정하여 After에 지정된 유닛이 실행된 이후 시작된다.
After=network.target
[Service]
// ExecStart에 영향을 주는 유닛 프로세스가 시작되며, simple, forking, oeshot, idle 등이 있다.
Type=forking
User=bkjeon
Group=bkjeon
// syslog에서 구분하기 위한 이름
SyslogIdentifier=test
// 실행된 프로세스의 작업 디렉토리를 설정
WorkingDirectory=/home/bkjeon/app
// systemctl 명령어로 인한 중지를 제외하고 프로세스가 종료된 후 재시작한다.
Restart=always
// Restart 옵션과 연결되어 몇 초에 실행할지 결정
RestartSec=0s
// 서비스가 시작될 때 실행할 명령어 또는 스크립트 작성
ExecStart=/home/bkjeon/app/test.sh start
// 서비스가 정지될 때 실행할 명령어 또는 스크립트 작성
ExecStop=/home/bkjeon/app/test.sh stop
[Install]
// 서비스가 실행될 타겟 설정
WantedBy=multi-user.target
2. systemd 적용을 위해 재시작
$ sudo systemctl daemon-reload
3. 사용방법
$ sudo systemctl start test.service // 시작
$ sudo systemctl stop test.service // 중지
$ sudo systemctl restart test.service // 재시작
$ sudo systemctl status test.service // 상세정보 확인
4. 만약 selinux is preventing /usr/lib/systemd/systemd from read access 오류를 표시할 때
-
SELinux 해제 (SELinux 는 Linux의 보안을 강화해 주는 보안 강화 커널이고 zero-day 공격 및 buffer overflow 등 어플리케이션 취약점으로 인한 해킹을 방지해 주는 핵심 구성요소이다. -> 인터넷에 연결된 리눅스 서버일 경우 SELinux 해제는 추천하지 않는다)
-
sudo vi /etc/sysconfig/selinux
SELINUX=enforcing -> SELINUX=disabled 로 변경 후 재부팅
5. 서버가 부팅할 때 자동으로 주키퍼 서비스를 실행하게 설정
// enable 적용되면 "Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /etc/systemd/system/nginx.service" 을 출력 -> /etc/systemd/system/multi-user.target.wants 경로에 심볼릭 링크로 생성되어있다.
$ sudo systemctl enable nginx.service
반응형
'Infra > Linux & Unix' 카테고리의 다른 글
tcp_max_tw_buckets 값 설정 (0) | 2021.02.11 |
---|---|
커널 파라미터 튜닝 (0) | 2021.02.11 |
[ubuntu] Could not get lock /var/lib/dpkg/lock ... 오류 (0) | 2020.05.20 |
프로세스 백그라운드 실행 및 nohup (0) | 2020.04.16 |
Kill 옵션 관련 (0) | 2020.04.16 |
Comments