[CentOS&Linux] Daemon management with systemctl (systemd를 위한 nginx 데몬 관리 스크립트)
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