본문 바로가기
리눅스공부/명령어와 필수 작동법

[개념] 리눅스의 서비스와 소켓

by 으노으뇨 2022. 12. 19.
728x90
반응형
SMALL

서비스

데몬이라고도 부르는 서비스는 서버 프로세스를 말한다. 즉 서비스는 웹 서버, 네임 서버, 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 대신 소켓으로 사용된다.소켓의 특징

 

728x90
반응형
LIST

댓글