본문 바로가기

리디북스 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디북스 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기


NGINX 쿡북 상세페이지

컴퓨터/IT 개발/프로그래밍

NGINX 쿡북

112가지 레시피로 배우는 고성능 부하분산, 보안, 서버 배포와 관리

구매종이책 정가20,000
전자책 정가20%16,000
판매가16,000
NGINX 쿡북

작품 소개

<NGINX 쿡북> 빠르고 안전한 웹 서비스를 위한 NGINX 레시피



엔진엑스는 널리 사용되는 웹 서버용 오픈 소스 소프트웨어다. 가볍고 확장 가능하며 요청을 동시에 처리할 수 있어 트래픽이 높을 때에도 성능이 뛰어나다. HTTP, TCP, UDP의 부하를 효율적으로 분산하는 로드 밸런서와 프록시 서버로도 사용되어 웹 서비스의 성능을 향상한다.



이 책은 엔진엑스의 고성능 부하분산과 보안 기능, 서버 배포와 관리 방법에 초점을 맞춘다. 책에 수록된 풍부한 레시피는 엔진엑스를 설치하고 사용하는 방법부터 실전 운영 팁까지 다룬다. 엔진엑스라는 애플리케이션 전송 플랫폼을 최대한으로 활용할 수 있도록 상용 버전인 엔진엑스 플러스와 엔진엑스 컨트롤러 기능도 함께 소개한다. 다양한 기능을 필요에 맞게 적용해 빠르고 안전한 웹 서비스를 만들어보자.





주요 내용

HTTP, TCP, UDP 서버 부하분산
트래픽 암호화, 보안 링크, HTTP 인증 하위 요청을 통한 접근 보안
엔진엑스를 구글 클라우드, AWS, 애저 클라우드 컴퓨팅 서비스로 배포하기
엔진엑스 플러스 대시보드와 API로 활동 모니터링하기
엔진엑스 플러스 앱 프로텍트 모듈 설치 및 설정하기
컨테이너 환경에서 엔진엑스와 엔진엑스 플러스 사용하기
엔진엑스 컨트롤러 ADC를 사용해 WAF 활성화하기


추천사



“대규모 아키텍처를 위한 최고의 엔진엑스 지침서입니다. 책에서 소개하는 사용 사례는 마이크로서비스 환경에서 작업하는 동안 발생하는 거의 모든 문제를 해결하는 데 도움을 줍니다.”

_ 곤살로 스피나, Brubank 소프트웨어 엔지니어

출판사 리뷰



엔진엑스의 핵심을 담은 112가지 레시피

엔진엑스는 2021년 4월 기준 웹 서버 시장 점유율 35.34%(출처: 넷크래프트)를 기록하며 세계적으로 인기를 얻고 있습니다. 1990년대부터 줄곧 1위를 지키던 아파치 웹 서버의 단점을 보완하려는 목적으로 개발되어 2004년 발표된 후, 고성능 트래픽 처리 기능을 기반으로 빠르게 성장했습니다. 엔진엑스는 웹 서버뿐 아니라 API 게이트웨이와 인그레스 컨트롤러 등 다양한 방식으로 모던 앱 환경에서 활용됩니다.

이 책은 간결한 레시피를 통해 엔진엑스가 지닌 강력한 기능을 소개합니다. 엔진엑스를 설치하는 방법과 디렉터리, 명령어 등 기초부터 설명해 입문자도 쉽게 엔진엑스를 시작할 수 있습니다. 필요한 기능을 손쉽게 찾아볼 수 있도록 쿡북 형식으로 문제와 해결 방법을 제시합니다. 책에서 소개하는 엔진엑스 오픈 소스와 엔진엑스 플러스의 다양한 기능을 결합해 빠르고 안전한 웹 서비스를 만들어보기 바랍니다.





장별 주요 내용



[1장 엔진엑스 기초]

운영체제별 설치 방법과 주요 설정 파일, 디렉터리, 명령어



[2장 고성능 부하분산]

HTTP, TCP, UDP 서버 부하분산 방법, 부하분산 알고리즘, 업스트림 서버 상태 모니터링 방법



[3장 트래픽 관리]

사용자 요청을 분기하거나 요청 빈도, 연결 수, 대역폭 등을 제한해 트래픽을 제어하는 방법



[4장 대규모 확장 가능한 콘텐츠 캐싱]

성능을 높이고 부하를 낮추기 위한 캐싱 방법



[5장 프로그래머빌리티와 자동화]

엔진엑스 플러스 API를 통해 키-값 저장소를 다루는 방법, 설정 관리 도구를 통해 엔진엑스를 설치하고 기본 설정을 템플릿화하는 방법



[6장 인증]

HTTP 기본 인증, 하위 요청을 통한 인증, JWT 검증 방법



[7장 보안 제어]

IP 주소 기반 접근 제어, CORS, 트래픽 암호화 방법



[8장 HTTP/2]

HTTP/2를 활성화하고 사용하는 방법, grPC, 서버 푸시 기능



[9장 정교한 스트리밍]

엔진엑스를 통해 MP4, FLV 파일을 스트리밍하는 방법과 엔진엑스 플러스의 HLS, HDS 기능



[10장 클라우드 환경 배포]

엔진엑스와 엔진엑스 플러스를 AWS, 애저, 구글 컴퓨트 엔진으로 배포하는 방법



[11장 컨테이너와 마이크로서비스]

엔진엑스와 엔진엑스 플러스를 API 게이트웨이로 사용하는 방법, 컨테이너 환경에서 사용하는 방법



[12장 고가용성 보장을 위한 설정]

DNS를 이용한 로드 밸런서 부하분산, EC2의 부하분산, 엔진엑스 플러스 설정 동기화 방법



[13장 고급 활동 모니터링]

엔진엑스 모니터링을 활성화하는 방법, 엔진엑스 플러스 대시보드와 API를 이용해 지표를 수집하는 방법



[14장 디버깅과 트러블슈팅]

로깅 방법, Syslog 프로토콜을 통해 로그를 전달하는 방법, 오픈트레이싱을 활용해 요청에 식별자를 부여하고 분석하는 방법



[15장 성능 튜닝]

자동화 도구를 사용해 시험을 수행하고 결과를 측정해 성능을 튜닝하는 방법



[16장 엔진엑스 컨트롤러]

엔진엑스 컨트롤러 셋업 개요, 컨트롤러를 엔진엑스 플러스 서버 인스턴스와 연결하고 API로 제어하는 방법



[17장 실전 운영 팁]

설정 파일이 정확하게 만들어졌는지 확인하는 방법, 설정 파일을 디버깅하는 방법


저자 프로필

데릭 디용기

  • 경력 평생 기술에 대한 열정을 가져온 리눅스/유닉스 기반 시스템 및 웹 애플리케이션 전문가.

2021.06.04. 업데이트 작가 프로필 수정 요청

평생 기술에 대한 열정을 가져온 리눅스/유닉스 기반 시스템 및 웹 애플리케이션 전문가. 웹 개발, 시스템 관리 및 네트워킹 경험을 통해 현대 웹 아키텍처에 대한 포괄적인 지식을 쌓았다. 사이트 안정성 및 클라우드 솔루션 엔지니어 팀의 리더로서 수많은 애플리케이션의 자가 치유 및 자동 확장 인프라를 생산한다. 고가용성 애플리케이션을 설계, 구축, 유지 관리하며 클라우드를 막 도입하는 대규모 기업을 컨설팅하기도 한다. 데릭과 그의 팀은 기술 파도의 최전선에서 매일 클라우드 모범 사례를 엔지니어링한다. 탄력적인 클라우드 아키텍처에 대한 입증된 실적을 바탕으로 고객에게 가장 이익이 되는 보안과 유지 관리를 위한 클라우드 배포를 개척하고 있다.

대표 저서



저자 소개

저자
데릭 디용기

평생 기술에 대한 열정을 가져온 리눅스/유닉스 기반 시스템 및 웹 애플리케이션 전문가. 웹 개발, 시스템 관리 및 네트워킹 경험을 통해 현대 웹 아키텍처에 대한 포괄적인 지식을 쌓았다. 사이트 안정성 및 클라우드 솔루션 엔지니어 팀의 리더로서 수많은 애플리케이션의 자가 치유 및 자동 확장 인프라를 생산한다. 고가용성 애플리케이션을 설계, 구축, 유지 관리하며 클라우드를 막 도입하는 대규모 기업을 컨설팅하기도 한다. 데릭과 그의 팀은 기술 파도의 최전선에서 매일 클라우드 모범 사례를 엔지니어링한다. 탄력적인 클라우드 아키텍처에 대한 입증된 실적을 바탕으로 고객에게 가장 이익이 되는 보안과 유지 관리를 위한 클라우드 배포를 개척하고 있다.

역자
노승헌

눈물 없이 볼 수 없는 한 편의 뮤직비디오 같은 인생을 만드느라 바쁜 센티멘털리스트. 삼성네트웍스, SK텔레콤, 아카마이 코리아를 거치면서 개발자, 프로젝트 매니저, 제품 오너, 솔루션 아키텍트 등 다양한 영역에서 자신을 시험해보고 있다. 현재는 라인플러스에서 사용자가 서비스를 보다 쾌적하게 사용할 수 있도록 글로벌 트래픽에 관한 업무를 수행한다. 집필한 도서로 『나는 LINE 개발자입니다』(한빛미디어, 2019, 공저), 『슬랙으로 협업하기』(위키북스, 2017), 『소셜 네트워크로 세상을 바꾼 사람들』(길벗, 2013) 등이 있다.

목차

chapter 1 엔진엑스 기초

1.0 소개

1.1 데비안/우분투 리눅스 배포판에 설치

1.2 레드햇/센트OS 리눅스 배포판에 설치

1.3 엔진엑스 플러스 설치

1.4 설치 상태 점검

1.5 주요 설정 파일, 디렉터리, 명령어

1.6 정적 콘텐츠 서비스

1.7 무중단 설정 리로드



chapter 2 고성능 부하분산

2.0 소개

2.1 HTTP 부하분산

2.2 TCP 부하분산

2.3 UDP 부하분산

2.4 부하분산 알고리즘

2.5 스티키 쿠키(엔진엑스 플러스)

2.6 스티키 런(엔진엑스 플러스)

2.7 스티키 라우팅(엔진엑스 플러스)

2.8 커넥션 드레이닝(엔진엑스 플러스)

2.9 수동적인 헬스 체크

2.10 능동적인 헬스 체크(엔진엑스 플러스)

2.11 슬로 스타트(엔진엑스 플러스)



chapter 3 트래픽 관리

3.0 소개

3.1 A/B 테스트

3.2 GeoIP 모듈과 데이터베이스 활용

3.3 국가 단위 접근 차단

3.4 실제 사용자 IP 찾기

3.5 연결 제한

3.6 요청 빈도 제한

3.7 전송 대역폭 제한



chapter 4 대규모 확장 가능한 콘텐츠 캐싱

4.0 소개

4.1 캐시 영역

4.2 캐시 락

4.3 해시 키 값 캐시

4.4 캐시 우회

4.5 캐시 성능

4.6 캐시 퍼지(엔진엑스 플러스)

4.7 캐시 분할



chapter 5 프로그래머빌리티와 자동화

5.0 소개

5.1 엔진엑스 플러스 API

5.2 키-값 저장소 사용(엔진엑스 플러스)

5.3 상용 프로그래밍 언어를 통한 엔진엑스 확장

5.4 퍼핏을 이용한 엔진엑스 설치

5.5 셰프를 이용한 엔진엑스 설치

5.6 앤서블을 이용한 엔진엑스 설치

5.7 솔트스택을 이용한 엔진엑스 설치

5.8 콘술 템플릿 기능을 이용한 설정 자동화



chapter 6 인증

6.0 소개

6.1 HTTP 기본 인증

6.2 인증을 위한 하위 요청

6.3 JWT 검증(엔진엑스 플러스)

6.4 JSON 웹 키 생성(엔진엑스 플러스)

6.5 JSON 웹 토큰 검증(엔진엑스 플러스)

6.6 JSON 웹 키 세트 획득 자동화와 캐싱(엔진엑스 플러스)

6.7 오픈아이디 커넥트 SSO를 통한 사용자 인증(엔진엑스 플러스)



chapter 7 보안 제어

7.0 소개

7.1 IP 주소 기반 접근 제어

7.2 크로스 오리진 리소스 공유(CORS)

7.3 클라이언트 측 암호화

7.4 고급 클라이언트 측 암호화

7.5 업스트림 암호화

7.6 location 블록 보호

7.7 비밀값을 활용한 보안 링크 생성

7.8 기간 제한 링크로 location 블록 보호

7.9 기간 제한 링크 생성

7.10 HTTPS 리다이렉션

7.11 HTTPS 리다이렉션 - SSL 오프로딩 계층이 있는 경우

7.12 HSTS

7.13 다중 계층 보안

7.14 다중 계층 DDoS 방어(엔진엑스 플러스)

7.15 앱 프로텍트 모듈 설치와 설정(엔진엑스 플러스)



chapter 8 HTTP/2

8.0 소개

8.1 기본 설정

8.2 gRPC

8.3 HTTP/2 서버 푸시



chapter 9 정교한 스트리밍

9.0 소개

9.1 MP4와 F LV 서비스

9.2 HLS 스트리밍(엔진엑스 플러스)

9.3 HDS 스트리밍(엔진엑스 플러스)

9.4 대역폭 제한(엔진엑스 플러스)



chapter 10 클라우드 환경 배포

10.0 소개

10.1 AWS 환경에서 자동 프로비저닝 구현하기

10.2 AWS ELB를 쓰지 않고 엔진엑스 노드로 라우팅하기

10.3 NLB 샌드위치

10.4 AWS 마켓플레이스를 통해 엔진엑스 구축하기(엔진엑스 플러스)

10.5 애저 환경에서 엔진엑스 가상 머신 이미지 생성하기

10.6 애저 환경에서 엔진엑스 스케일 세트를 통해 부하분산하기

10.7 애저 마켓플레이스의 이미지로 서버 배포하기

10.8 구글 컴퓨트 엔진에서 엔진엑스 배포하기

10.9 구글 컴퓨트 이미지 생성하기

10.10 구글 앱 엔진 프록시 생성하기



chapter 11 컨테이너와 마이크로서비스

11.0 소개

11.1 엔진엑스를 API 게이트웨이로 사용

11.2 DNS의 SRV 레코드 활용(엔진엑스 플러스)

11.3 공식 엔진엑스 이미지 사용

11.4 엔진엑스 도커 파일 생성

11.5 엔진엑스 플러스 도커 이미지 생성

11.6 엔진엑스에서 환경 변수 사용

11.7 쿠버네티스 인그레스 컨트롤러

11.8 프로메테우스 익스포터 모듈



chapter 12 고가용성 보장을 위한 설정

12.0 소개

12.1 엔진엑스 플러스 HA 모드

12.2 DNS를 이용한 로드 밸런서 부하분산

12.3 EC2의 부하분산

12.4 엔진엑스 플러스 설정 동기화

12.5 상태 공유와 영역 동기화(엔진엑스 플러스)



chapter 13 고급 활동 모니터링

13.0 소개

13.1 오픈 소스 엔진엑스의 stub status 활성화

13.2 모니터링 대시보드 활성화(엔진엑스 플러스)

13.3 엔진엑스 플러스 API를 이용한 지표 수집



chapter 14 디버깅과 트러블슈팅

14.0 소개

14.1 접근 로그 설정

14.2 오류 로그 설정

14.3 로그를 Syslog로 전달

14.4 요청 추적

14.5 엔진엑스를 위한 오픈트레이싱



chapter 15 성능 튜닝

15.0 소개

15.1 로드 드라이버를 이용한 시험 자동화

15.2 클라이언트와의 연결 유지

15.3 업스트림 서버와의 연결 유지

15.4 응답 버퍼링

15.5 접근 로그 버퍼링

15.6 운영체제 튜닝



chapter 16 엔진엑스 컨트롤러

16.0 소개

16.1 셋업 개요

16.2 엔진엑스 플러스를 컨트롤러와 연결하기

16.3 API를 이용해 엔진엑스 컨트롤러 운영하기

16.4 컨트롤러 앱 시큐리티를 이용해 WAF 활성화하기



chapter 17 실전 운영 팁

17.0 소개

17.1 include 구문을 사용해 깔끔한 설정 만들기

17.2 설정 디버깅



마치며


리뷰

구매자 별점

5.0

점수비율

  • 5
  • 4
  • 3
  • 2
  • 1

1명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디북스에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전