티스토리 뷰
반응형
[nginx cookbook - https://product.kyobobook.co.kr/detail/S000200497075]
1.5 주요 설정 파일, 디렉터리, 명령어
- 엔진엑스 주요 설정 파일과 디렉터리
- /etc/nginx/
- 엔진엑스 서버가 사용하는 기본 설정이 저장된 루트 디렉터리
- 이곳에 저장된 설정 파일의 내용에 따라 동작
- /etc/nginx/nginx.conf
- 엔진엑스의 기본 설정파일
- 모든 설정에 대한 진입점
- 워커 프로스세, 개수, 튜닝, 동적 모듈 적재와 같은 글로벌 설정 항목 포함
세부 설정 파일에 대한 참조를 지정 - 모든 설정 파일을 포함하는 최상위 http 블록을 가지고 있음
- /etc/nginx/conf.d/
- 기본 http 서버 설정 파일 포함
- 디렉터리 내 파일 중 .conf로 끝나는 파일은 /etc/nginx/nginx.conf 파일이 가진 최상위 http qmffjrdp vhgkaehla
- nignx 설정은 include 구문을 활용해 구조화함으로써 각 설정 파일을 간결하게 유지하면 좋음
- conf.d 디렉터리 대신 site-enabled 디렉터리, symlink를 통해 site-available 을 사용하는 방식은 더 이상 사용하지 않음
- /var/log/nginx/
- nginx 의 로그가 저장되는 디렉터리
- access.log : 접근 로그 파일, 엔진엑스가 수신한 개별 요청에 대한 로그 저장
- error.log : 오류 로그 파일, 오류 발생 시 이벤트 내용을 저장
- nginx 설정을 통해 debug 모듈을 활성화하면 디버그 정보도 오류 로그 파일에 기록됨
- /etc/nginx/
- 엔진엑스 명령어
- ngingx -h
- 도움말
- nginx -v
- 버전 정보
- nginx -V
- 버전정보, 빌드 정보
- 엔진 엑스 바이너리에 포함된 모듈을 보여주는 설정 값 확인
- nginx -t
- 설정 test
- nginx -T
- 설정 test + 결과 출력
- nginx -s signal
- -s 는 지정된 신호(stop, quit, reload, reopen)을 엔진엑스 마스터 프로세스에 전송
- stop : nginx 프로세스가 즉시 동작을 멈추게 함
- quit : 현재 진행중인 요청을 모두 처리한 뒤 nginx 프로세스를 종료
- reload : nginx 설정을 다시 읽음
- reopen : 지정된 로그 파일을 다시 엶
- ngingx -h
1.6 정적 콘텐츠 서비스하기
server { # 1
listen 80 default_server; # 2
sever_name www.example.com; # 3
location / { # 4
root /usr/share/nginx/html; # 5
# alias /usr/share/nginx/html; # 6
index index.html index.htm; # 7
}
}
- http 프로토콜과 80 포트를 이용해 /usr/share/nginx/html 경로에 저장된 정적 콘텐츠 제공
- #1
- 새로운 server 블록을 선언해 nginx가 처리할 새로운 컨텍스트 정의
- #2
- nginx가 80 포트로 들어오는 요청을 수신하게 함
- 이 블록에 정의된 내용이 80 포트에 대한 기본 컨텍스트가 되도록 default_server 매개변수 사용
- listen 지시자에 포트를 범위로 지정할 수 있음
- #3
- server_name 지시자에는 서버가 처리할 호스트명(hostname)이나 도메인명을 지정
- 만약 설정이 default_server 매개변수를 통해 기본 컨텍스트로 지정되지 않았다면 nginx는 요청 호스트 헤더값이 server_name 지시자에 지정된 값과 같을 때만 server 블록에 지정된 내용을 수행함
- 서버가 사용할 도메인이 정해지지 않았다면 default_server 매개변수를 사용해 기본 컨텍스트를 정의하고 server_name 지시자를 생략할 수 있음
- #4
- localtion 블록은 url의 경로를 기반으로 함. 다ㅑㅇ한 표현식을 활용해 조건을 정의할 수 있음
- nginx는 요청된 uri에 가장 적합한 location 블록을 찾음
- root 지시자는 주어진 컨텍스트에서 콘텐츠를 제공할 때 서버의 어떤 경로에서 파일을 찾을지 알려줌(#5)
root 지시자에 정의된 경로에 수신한 uri 값을 합쳐 요청된 파일을 찾음 - location 지시자에 uri prefix를 사용했다면 이 값도 root 지시자에 지정한 값과 합쳐짐
- 이렇게 동작하지 않도록 하려면 root 지시자 대신 alias 지시자를 사용(#6)
- #7
- index 지시자는 uri에 더는 참고할 경로 정보가 없을 때 nginx가 사용할 기본 파일 혹은 확인할 파일 목록을 알려줌
1.7 무중단으로 설정 리로드하기
- nginx -s reload
- 동작 중인 nginx의 마스터 프로세스에 리로드 신호를 보내 설정을 다시 읽어들이도록 지시함
- 서버 중지 없이 엔진엑스 설정을 리로드해 패킷 손실 없이 설정을 변경함
- nginx 는 로드밸런서 작동을 계속하면서 동적으로 설정을 변경할 수 있음
- 이 기능을 통해 실서비스 환경에서 반복적인 설정 관리를 수행하며 동적으로 ㅅ러정 가능한 애플리케이션 인식 모듈이나 클러스터 인식 모듈을 구축해 무중단으로 nginx 설정을 리로드함
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ImagePullBackOff
- gasmask
- kotlin In Action
- docker pull limit
- k8s
- 스프링부트
- 스프링
- JavaScript
- linuxkit
- kotlin
- 자바스크립트
- gradle
- springboot
- cacheable
- QuickTimePlayer
- 쿠버네티스
- clean code
- back merge
- 자바
- Spring
- 코틀린
- docker
- 클린코드
- ddd
- java
- IntelliJ
- 도커
- Kubernetes
- 도메인주도설계
- docker for mac
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함