Fascination
article thumbnail
Published 2021. 10. 25. 04:16
[Linux] 서비스와 소켓 Study/Linux

# 서비스

- 서비스: 서버 프로세스

- 시스템과 독자적으로 구동 및 제공되는 프로세스

  > 웹 서버(httpd), DB 서버(mysqld), FTP(vsftpd) 서버 등을 예로 들 수 있음

- 실행 및 종료: systemctl <start/stop/restart> 서비스이름

  > 웹 서버는 systemctl start httpd 명령으로 구동

- 자동으로 재부팅 후 뜨지 않으므로 ntsysv에서 설정 필요

- 서비스의 실행 스크립트 파일: /usr/bin/systemd/system 디렉터리에 '서비스이름.service'라는 이름으로 확인 가능

> 이 파일들은 대부분 systemctl <start/stop/restart> 서비스이름

명령으로 실행/중지/재실행할 수 있음

 

- 부팅과 동시에 서비스의 자동 실행 여부를 지정할 수 있는데, 터미널에서 systemctl list-unit-files 명령을 실행하면 현재 사용과 사용 안 함을 확인할 수 있음 // ntsysv와 같은 기능 수행

> 상태가 static으로 설정된 것은 사용/ 사용 안 함으로 설정할 수 없으며,

다른 서비스나 소켓에 의존해서 실행되는 것임

 

- systemctl 명령

  > 서비스 시작/중지/재시작  →  systemctl <start/stop/restart> 서비스이름

  > 서비스 상태 확인  →  systemctl status 서비스이름

  > 서비스 사용/사용 안 함 설정  →  system enable/disable 서비스이름

 

 

# 소켓

- 소켓: 필요할 때만 작동하는 서버 프로세스

- 서비스는 항상 가동되지만 소켓은 외부에서 특정 서비스를 요청할 경우 systemd가 구동시킴

  > 요청이 끝나면 소켓도 종료됨

- 처음 연결되는 시간은 앞에서 설명한 서비스에 비해 약간 더 걸림

  > 하지만 메모리 낭비는 줄일 수 있음

- 소켓과 관련된 스크립트 파일: /user/lib/systemd/system/ 디렉터리에 '소켓이름.socket'이라는 이름으로 존재

 

 

# xinetd 데몬

- 예전 CentOS에서는 소켓과 비슷한 개념으로 xinetd 데몬이 주로 사용되었음

- 현재는 많은 서비스가 xinetd 대신 소켓으로 사용됨

 

 

 

 

 


[출처]

- 숙명여자대학교 서버운영및보안 수업 - 이종우 교수님

- 이것이 우분투다 (개정판) - 우재남 지음

 

profile

Fascination

@euna-319

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!