본문 바로가기
Develop/Server

[Linux] 서비스와 소켓 이해하기

by 코딩의성지 2020. 8. 24.

서비스

서비스는 평상시에도 가동되는 서버의 프로세스를 의미한다. 보통 웹서버(httpd), DB서버(mysqld), FTP서버(vsftpd), WAS(tomcat) 등이 있다.

 

서비스는 systemd라는 서비스 매니저 프로그램으로 작동시키고 관리할 수 있다. 명령어는 아래와 같다.

실행 명령어
systemctl start 서비스이름

종료 명령어
systemctl stop 서비스이름

재시작 명령어
systemctl restart 서비스이름

 

`서비스의 실행 스크립트 파일들은 /usr/lib/systemd/system/ 디렉터리에 '서비스이름.service' 의 형태로 있다. 예를들면 웹서비스는 'httpd.service' 라는 형태로 존재한다.

 

만약 부팅과 동시에 서비스의 자동 실행여부를 지정하고 싶으면 터미널 상에서 

systemctl list-unit-files 

명령어를 실행하여 enabled, disabled 상태를 확인하고 , 아래의 명령어로 상태를 변경해주면된다.

활성화
systemctl enable 서비스이름

비활성화
systemctl disable 서비스이름

 

또는 x윈도우 환경에서

system-config-services

명령어를 이용하여 자동실행 여부를 변경해줄 수 있다.

 

그리고 만약 서비스 상태를 확인하고 싶으면 아래의 명령어를 사용해주면된다.

systemctl status 서비스이름

 

소켓

소켓은 필요한 경우에만 작동하는 서버 프로세스를 의미한다.

 

서비스가 항상 가동되는 반면, 소켓은 특정서비스를 외부에서 요청할 때 systemd가 구동시킨다. 그리고 이러한 요청이 끝나면 소켓도 종료가 된다. 소켓의 대표적인 예는 telnet 서버이다.

 

소켓과 관련된 스크립트 파일은 /usr/lib/systemd/system/ 디렉터리에 '소켓이름.socket' 이라는 형태로 존재한다.

 

반응형

댓글