NGINX - 02. nginx.conf 의 지시문 user 설정이 디폴트 설정 nobody 가 아닌 nginx 으로 설정되어 있는 이유에 대하여

 

/etc/nginx/nginx.conf (v1.14.1 기준)

 

| user 지시문(Directives) 

 

Syntax

: user user_id | group_id

 

설명

: 워커 프로세스(worker process) 실행 권한을 설정할 수 있다.

 

group_id 생략 시, user_id 값과 동일하게 설정된다.

디폴트 설정은 nobody 이다.

 

그러나 우리가 이전 편에서 설치한 NGINX v1.14.1 설정 값은 user nginx; 이다.

디폴트가 nobody 으로 설정되어 있지 않았다.

 

 

NGINX - 01. NGINX 설치 Version(Rocky 8.10, NGINX 1.14.1)

NGINX 설치dnf install -y nginx  NGINX 버전 확인nginx -v  NGINX 자동실행systemctl enable --now nginx  실행확인systemctl status nginx 리스너 확인netstat -lnpt   NGINX 설정파일 위치- /etc/nginx/nginx.conf  로그파일 위

openstack.tistory.com

 

왜 user nobody 가 아닌 user nginx 일까?

 

그 이유는 리눅스 배포자가 배포 시 NGINX 패키지에 설정값을 최적화하여 패키징하였고,

우리는 해당 패키징 파일을 다운로드하여 사용하기 때문이다.

 

실제로 NGINX 에서 배포하는 파일을 다운로드 받아보면, 기본 설정이 nobody 로 되어있다.

 

리눅스 배포판에서 NGINX 설치 시, /etc/nginx 폴더에 nginx.conf.default 파일이 있는 것을 볼 수 있는데,

해당 파일이 공식적인 디폴트 값만 설정되어 있는 파일이다.

 

 

- nginx.conf.default 파일은 nginx 설치 후 기본 설정을 참고할 때 제공되는 설정이며 실제 적용되지는 않는다.

- nginx.conf 의 user nginx; 는 디폴트 설정이 아니라 리눅스 배포판 관리자가 최적화한 설정인 것을 알 수 있다. 

 

user nginx; 적용 결과

nginx 실행 시 worker process 의 user, group 의 소유권이 nginx 인 것을 확인할 수 있다.