====== systemd: Linux 시스템 관리자 ====== **systemd**는 [[wiki:glossary:server_operations:linux|Linux]] 시스템의 초기화 시스템이자 서비스 관리자입니다. 시스템 부팅부터 서비스 관리까지 Linux 시스템의 핵심 기능을 담당하며, Dream of E&C 프로젝트의 서비스 자동화에 활용됩니다. ==== 주요 특징 ==== **서비스 관리**: * **자동 시작**: 시스템 부팅 시 서비스 자동 실행 * **의존성 관리**: 서비스 간 실행 순서 및 의존성 처리 * **상태 모니터링**: 서비스 실행 상태 및 로그 관리 * **재시작 정책**: 서비스 실패 시 자동 재시작 **시스템 초기화**: * **부팅 프로세스**: 시스템 시작 과정 관리 * **마운트 관리**: 파일 시스템 마운트 처리 * **네트워크 설정**: 네트워크 인터페이스 초기화 * **사용자 세션**: 로그인 세션 관리 ==== Dream of E&C 프로젝트에서의 활용 ==== **주요 역할**: * **Flask 서비스**: [[wiki:glossary:server_operations:waitress|Waitress]] 서버를 systemd 서비스로 등록 * **Nginx 관리**: [[wiki:glossary:web_technologies:nginx|Nginx]] 웹 서버 자동 시작 및 관리 * **자동화 스크립트**: 크론탭 대신 systemd 타이머 사용 * **로그 관리**: journald를 통한 통합 로그 관리 ==== 서비스 파일 예시 ==== # /etc/systemd/system/hr-portal.service [Unit] Description=HR Portal Backend Service After=network.target [Service] Type=simple User=www-data WorkingDirectory=/var/www/hr-portal ExecStart=/usr/bin/python3 -m waitress --host=0.0.0.0 --port=5000 app:app Restart=always RestartSec=10 [Install] WantedBy=multi-user.target ==== 기본 명령어 ==== # 서비스 관리 systemctl start hr-portal # 서비스 시작 systemctl stop hr-portal # 서비스 중지 systemctl restart hr-portal # 서비스 재시작 systemctl status hr-portal # 서비스 상태 확인 # 자동 시작 설정 systemctl enable hr-portal # 부팅 시 자동 시작 활성화 systemctl disable hr-portal # 부팅 시 자동 시작 비활성화 # 로그 확인 journalctl -u hr-portal # 서비스 로그 확인 journalctl -u hr-portal -f # 실시간 로그 확인 ==== 관련 기술 ==== * **[[wiki:glossary:server_operations:linux|Linux]]**: systemd가 작동하는 운영체제 * **[[wiki:glossary:web_technologies:nginx|Nginx]]**: systemd로 관리되는 웹 서버 * **[[wiki:glossary:server_operations:waitress|Waitress]]**: systemd 서비스로 등록하여 관리 * **journald**: systemd의 로깅 시스템 ==== 추가 정보 ==== **공식 자료**: * [[https://systemd.io/|systemd 공식 사이트]] * [[https://www.freedesktop.org/software/systemd/man/|systemd 매뉴얼]] **운영 팁**: * **서비스 파일 위치**: ''/etc/systemd/system/'' * **설정 변경 후**: ''systemctl daemon-reload'' 실행 필요 * **로그 크기 제한**: ''journalctl --vacuum-size=100M'' * **서비스 목록**: ''systemctl list-units --type=service'' ---- > **systemd는 Dream of E&C 프로젝트의 모든 서비스를 안정적으로 관리하는 핵심 도구입니다.**