체계적인 많은 구성 요소를 제공하는 최신 소프트웨어 제품군입니다. 리눅스 시스템 및 서비스 관리자를 포함한 시스템. 와 호환됩니다 SysV 그리고 LSB init 스크립트를 대체하고 작동합니다. 시스비닛.
systemd 서비스는 단위 파일에 정의됩니다(단위는 장치, 소켓, 마운트 지점 등과 같은 서비스 및 시스템 리소스를 나타냅니다). 사용자 지정 서비스 단위 파일은 /etc/systemd/system/ 디렉토리에 있어야 합니다. .서비스
확대. 예를 들어, 사용자 지정 테스트 앱 서비스 이용 /etc/systemd/system/test-app.service 단위 파일.
[ 당신은 또한 좋아할 수도 있습니다: Linux에서 'init'을 'systemd'로 대체해야 하는 이유 ]
단위 파일은 일반적으로 세 개의 공통 섹션을 포함하는 일반 텍스트 ini 스타일 파일입니다. 첫 번째 섹션은 일반적으로 단위 단위 유형에 종속되지 않는 단위에 대한 일반 정보를 전달하는 섹션입니다.
다음 섹션은 단위 유형 섹션이며 서비스의 경우 서비스 부분. 그리고 마지막 섹션은 설치하다 장치에 대한 설치 정보를 전달하는 섹션입니다.
이 가이드에서는 새 계정을 만드는 방법을 보여줍니다. 체계적인 서비스를 이용하여 서비스를 관리하고 systemctl 명령, 리눅스에서.
응용 프로그램이나 프로그램 또는 스크립트를 systemd에서 서비스로 실행하려면 다음과 같이 새로운 systemd 서비스를 만들 수 있습니다. 서비스 생성부터 시작 단위 이름이 지정된 파일 테스트 앱.서비스 (교체 기억 테스트 앱 귀하의 서비스 또는 애플리케이션의 실제 이름으로), 아래에 /etc/systemd/system/:
# vi /etc/systemd/system/test-app.service.
다음 구성은 다음을 실행하기 위한 서비스를 정의하는 데 사용됩니다. 플라스크 사용하는 응용 프로그램 거니콘, UNIX용 Python WSGI HTTP 서버.
[단위] Description=테스트 앱을 제공하기 위한 Gunicorn 데몬입니다. After=network.target [서비스] 사용자=루트. 그룹=루트. WorkingDirectory=/apps/test-app/ 환경="PATH=/apps/test-app/bin" ExecStart=/apps/test-app/bin/gunicorn --workers 9 -t 0 --bind 127.0.0.1:5001 -m 007 wsgi: 앱 --로그 수준 debug --access-logfile /var/log/gunicorn/test_app_access.log --error-logfile /var/log/gunicorn/test_app_error.log. ExecReload=/bin/kill -s HUP $MAINPID. RestartSec=5 [설치] WantedBy=다중 사용자.대상.
위의 구성에서 각 구성 지시문을 간략하게 설명하겠습니다.
.원하다/
또는 .필요/
나열된 각 단위의 디렉토리, 다중 사용자.대상 이 경우 테스트 앱.서비스 장치는 다음을 사용하여 활성화됩니다. systemctl 활성화 명령.에 잘 설명된 모든 서비스 단위 구성 매개변수를 찾을 수 있습니다. 서비스 단위 구성 선적 서류 비치.
단위 파일을 저장하고 닫습니다. 그런 다음 다음을 실행하여 이 새 서비스 단위 파일로 systemd를 다시 로드합니다.
# systemctl daemon-reload 명령.
단위 파일을 편집한 후에는 항상 이 명령을 실행해야 합니다.
서비스를 시작/활성화하려면 다음과 같이 systemctl 명령을 실행하십시오.
# systemctl test-app.service를 시작합니다.
서비스가 실행 중인지 확인하려면 표시된 대로 systemctl 명령을 실행하십시오.
# systemctl 상태 test-app.service.
시스템 부팅 시 서비스가 시작되도록 하려면 다음을 사용하십시오. systemctl 활성화 명령. 다음을 사용하여 서비스가 활성화되었는지 확인할 수 있습니다. systemctl is-enable 다음과 같이 명령하십시오.
# systemctl은 test-app.service를 활성화합니다. # systemctl is-enabled test-app.service.
또는 표시된 것과 동시에 서비스를 활성화하고 시작할 수도 있습니다.
# systemctl enable --now test-app.service.
서비스를 중지/비활성화하려면 다음을 실행하십시오. systemctl 중지 다음과 같이 명령하십시오.
# systemctl은 test-app.service를 중지합니다.
서비스를 다시 시작하려면 다음을 실행하십시오. systemctl 재시작 다음과 같이 명령하십시오.
# systemctl은 test-app.service를 다시 시작합니다.
s를 사용하여 시스템 부팅 시 서비스가 시작되지 않도록 서비스를 비활성화할 수도 있습니다.ystemctl 비활성화 명령. 다음을 사용하여 서비스가 활성화되었는지 확인할 수 있습니다. systemctl is-enable 다음과 같이 명령하십시오.
# systemctl은 test-app.service를 비활성화합니다. # systemctl is-disabled test-app.service.
또는 표시된 것과 동시에 비활성화하고 중지할 수 있습니다.
# systemctl disable --now test-app.service.
systemd 서비스 및 기타 리소스 관리에 대한 자세한 내용을 보려면 다음을 실행하세요.
# man systemctl.