DevOps

[CentOS&Linux] Daemon management with systemctl (systemd를 위한 nginx 데몬 관리 스크립트)

IT오이시이 2017. 8. 22. 14:34
728x90

Linux7 daemon management with systemctl : systemd를 위한 nginx 데몬 스크립트

 

Systemd가 Linux7에서 데몬을 관리하는 도구로 채택 되면서 그 동안 해왔던 init 명령들이 이제 고물이 되었다.

당장 쓸만한 몇가지만 정리해서 만들어 보았다. (불편한건 둘째)

 

1. nginx.service 파일 만들기

2. systemctl enable nginx.service   : 데몬 자동 구동 등록

3. systemctl status nginx.service   : 데몬 상태 확인

4. systemctl stop nginx.service     : 데몬 중지

5. systemctl start nginx.service    : 데몬 시작

 

/usr/lib/systemd/system/nxignx.service

[Unit]

Description=Nginx server daemon

After=network.target

 

[Service]

Type=forking

EnvironmentFile=-/etc/sysconfig/nginx

ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

ExecStop=/usr/local/nginx/sbin/nginx -s stop

ExecReload=/bin/kill -HUP $MAINPID

PIDFile=/usr/local/nginx/logs/nginx.pid

 

[Install]

WantedBy=multi-user.target

 

# . systemctl daemon-reload

# . systemctl status nginx

# . systemctl start nginx

# . systemctl stop nginx

 

systemctl 은 "systemd" 시스템 및 서비스 관리자의 상태를 검사하고 제어하는 ​​데 사용됩니다.


systemd 는 Unix와 같은 운영 체제(전체가 아닌 대부분의 배포판)를 위한 시스템 및 서비스 관리자입니다. 시스템이 부팅될 때 생성된 첫 번째 프로세스, 즉 PID = 1인 init 프로세스는 사용자 공간 서비스를 시작하는 systemd 시스템입니다.

■ systemctl [OPCIONES] {COMANDO}

 

$sudo systemctl start application.service
$sudo systemctl start application

 

# 서비스를 start reload stop restart
$ sudo systemctl start ntpd
$ sudo systemctl restart ntpd

start PATTERN...
reload PATTERN...
stop PATTERN...
restart PATTERN...

 

# 서비스의 상태를 확인 합니다.
systemctl status 서비스명

 

# 시스템 시작시 자동으로 실행 합니다.
systemctl enable mariadb

systemctl is-enabled application.service
systemctl is-active application.service
systemctl is-failed application.service

 

# 활성화된 모든 서비스 목록을 출력합니다.
$ sudo systemctl list-units --state=enabled

 

# 실행 중인 서비스 목록을 출력합니다.
$ sudo systemctl list-units --type=service --state=running

 

 

 

 

 

728x90
반응형