데몬이라고도 부르는 서비스는 서버 프로세스를 말한다. 즉 서비스는 웹 서버, 네임 서버, DB 서버 등의 프로세스를 지칭한다. 또는 웹 서버 데몬, 네임 서버 데몬 등으로 부르기도 한다.
서비스는 눈에 보이지 않지만 현재 시스템에서 동작 중인 프로세스이므로 백그라운드 프로세스의 일종이라고 볼 수 있다.
서비스와 소켓
서비스는 평상시에도 늘 가동하는 서버 프로세스이며, 소켓은 필요할 때만 작동하는 서버프로세스이다. 서비스와 소켓은 systemd라는 서비스 매니저 프로그램으로 작동시키거나 관리한다.
*systemd 는 운영체제의 가장 처음에 시작되는 프로그램 중 하나이다.
우분투 15.0.4부터 systemd의 모든 기능이 작동되며, systemd가 서비스대부분을 관리한다.
서비스
서비스의 특징
시스템과 독자적으로 구동되어 제공하는 프로세스를 말한다. 웹서버, DB서버, FTP 서버등이 있다.
실행 및 종료는 대게 ' systemctl start/stop/restart 서비스 이름 ' 명령으로 사용된다. 예를들어 웹 서버는 systemctl start httpd 명령으로 구동한다.
서비스의 실행 스크립트 파일은 /lib/systemd/system/ 디렉터리에 '서비스이름.service'라는 이름으로 확인 할 수 있다. 예를들면 Cron 서비스는 cron.service라는 이름의 파일로 존재한다.
해당 디렉터리에서 *.service 를 검색해도 수없이 나온다.
이 디렉터리에 있는 파일들은 대부분 systemctl start | stop | restart 서비스이름 명령으로 실행 | 중지 | 재시작할 수 있다. - 부팅과 동시에 서비스의 자동 실행 여부를 지정할 수 있는데, 터미널에서 systemctl list-unit-files 명령을 실행하면 현재 사용과 사용 안 함을 확인할 수 있다.
systemctl 명령
서비스 시작/ 중지 / 재시작
systemctl start | stop | restart 서비스 이름
서비스 상태 확인
systemctl status 서비스 이름
서비스 사용 / 사용 안 함 설정
systemctl enable | disable 서비스 이름
소켓
서비스는 항상 가동되지만 소켓은 외부에서 특정 서비스를 요청할 경우 systemd가 구동시킨다. 요청이 끝나면 소켓도 종료된다.
소켓으로 설정된 서비스를 요청할 때 처음 연결되는 시간은 앞에서 설명한 서비스에 비해 약간 오래 걸릴 수 있다. 왜냐하면 systemd가 서비스를 새로 구동하는 데 시간이 소요되기 때문이다. 이와 같은 소켓의 대표적인 예로 텔넷 서버를 들 수 있다.
소켓과 관련된 스크립트 파일은 /lib/systemd/system/ 디렉터리에 '소켓이름.socket'이라는 파일로 존재한다.
해당 디렉터리에서 *.socket을 검색한 모습
xinetd 데몬 예전 우분투에서는 소켓과 비슷한 개념으로 xinetd 데몬이 주로 사용되었으며 우분투 20.04 도 xinetd 데몬을 지원한다. 하지만 많은 서비스가 xinetd 대신 소켓으로 사용된다.소켓의 특징
댓글