NGINX 쿡북

만능 웹 서버 소프트웨어 엔진엑스 제대로 활용하기
작가정보
Derek Dejonghe
평생 기술에 대한 열정을 가져온 리눅스/유닉스 기반 시스템 및 웹 애플리케이션 전문가. 웹 개발, 시스템 관리 및 네트워킹 경험을 통해 현대 웹 아키텍처에 대한 포괄적인 지식을 쌓았다. 사이트 안정성 및 클라우드 솔루션 엔지니어 팀의 리더로서 수많은 애플리케이션의 자가 치유 및 자동 확장 인프라를 생산한다. 고가용성 애플리케이션을 설계, 구축, 유지 관리하며 클라우드를 막 도입하는 대규모 기업을 컨설팅하기도 한다. 데릭과 그의 팀은 기술 파도의 최전선에서 매일 클라우드 모범 사례를 엔지니어링한다. 탄력적인 클라우드 아키텍처에 대한 입증된 실적을 바탕으로 고객에게 가장 이익이 되는 보안 및 유지 관리를 위한 클라우드 배포를 개척하고 있다.
눈물 없이 볼 수 없는 한 편의 뮤직비디오 같은 인생을 만드느라 바쁜 센티멘털리스트. 삼성네트웍스, SK텔레콤, 아카마이 코리아를 거치면서 개발자, 프로젝트 매니저, 제품 오너, 솔루션 아키텍트 등 다양한 영역에서 자신을 시험해보고 있다. 현재는 라인플러스 Enablement Engineering 팀에서 LINE의 다양한 서비스가 쾌적한 사용자 경험을 제공할 수 있도록 이슈를 관찰하고 문제를 해결하는 역할을 수행하고 있다. 집필한 도서로 『나는 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 NJS 모듈로 엔진엑스 자바스크립트 기능 활용하기
_5.4 상용 프로그래밍 언어로 엔진엑스 확장하기
_5.5 셰프로 엔진엑스 설치하기
_5.6 앤서블로 엔진엑스 설치하기
_5.7 콘술 템플릿 기능으로 설정 자동화하기
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 앱 프로텍트 WAF 모듈 설치와 설정(엔진엑스 플러스)
chapter 8 HTTP/2
_8.0 소개
_8.1 기본 설정
_8.2 gRPC
_8.3 HTTP/2 서버 푸시
chapter 9 정교한 스트리밍
_9.0 소개
_9.1 MP4와 FLV 서비스하기
_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 프로메테우스 익스포터 모듈
_11.9 mTLS를 이용한 엔진엑스 서비스 메시 구성
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 로그를 시스로그로 전달하기
_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로 엔진엑스 탐색, 설정, 모니터링 자동화하기
chapter 17 엔진엑스 컨트롤러
_17.0 소개
_17.1 셋업 개요
_17.2 엔진엑스 플러스를 컨트롤러와 연결하기
_17.3 API를 이용해 엔진엑스 컨트롤러 운영하기
_17.4 컨트롤러 앱 시큐리티를 이용해 WAF 활성화하기
chapter 18 실전 운영 팁
_18.0 소개
_18.1 include 구문을 사용해 깔끔한 설정 만들기
_18.2 설정 디버깅하기
추천사
-
대규모 아키텍처를 위한 최고의 엔진엑스 지침서입니다. 책에서 소개하는 사용 사례는 마이크로서비스 환경에서 작업하는 동안 발생하는 거의 모든 문제를 해결하는 데 도움이 됩니다.
출판사 서평
. 출판사 리뷰
웹 애플리케이션을 위한 스위스 군용 칼
Welcome to nginx cookbook!
1990년대 후반부터 2000년대 초반 사이에는 인터넷이 보급되면서 웹이 폭발적으로 성장했고, 당시 웹 서버 시장 점유율 1위를 굳건히 지키던 아파치 서버는 한계를 맞닥뜨리게 되었습니다. 트래픽 증가로 동시 요청이 1만 개를 넘어가면 성능이 저하되는 이른바 C10k 문제가 있었죠. 이를 극복하고 싶었던 러시아 개발자 이고르 시소예프는 비동기 이벤트 드리븐 방식으로 한 번에 많은 요청을 효율적으로 처리하는 웹 서버를 고안합니다. 이것이 오픈 소스 엔진엑스가 탄생한 배경입니다.
엔진엑스는 초창기에 아파치 서버의 단점을 보완하는 용도로 함께 사용되었지만 높은 성능과 편의성을 무기로 빠르게 성장해 현재는 전 세계 웹 서버 시장 점유율 1위에 자리하고 있습니다. 게다가 웹 애플리케이션을 위한 스위스 군용 칼이라는 별명답게 웹 서버와 리버스 프록시를 넘어서서 부하분산, 캐싱, 보안, API 게이트웨이 등 다양한 기능을 갖추었습니다.
이 책은 엔진엑스를 가장 엔진엑스답게 활용하기 위한 가이드입니다. 엔진엑스 오픈 소스 및 상용 버전에서 제공하는 유용한 기능과 그 사용법을 간결한 레시피로 설명합니다. 문제-해결-논의 형식의 레시피는 실무에서 필요할 때마다 꺼내 보고 참고하기 좋습니다. 그동안 엔진엑스를 단순히 웹 서버로만 사용해왔다면 새로운 기능을 발견하는 재미도 느낄 겁니다.
개정판에 추가된 내용
● NJS 모듈로 엔진엑스 자바스크립트 기능을 활용하는 방법
● 엔진엑스 인스턴스 매니저로 다수의 엔진엑스를 효율적으로 관리하는 방법
● 엔진엑스 서비스 메시로 서비스 간에 mTLS 활성화하는 방법
장별 주요 내용
[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장 디버깅과 트러블슈팅]
로깅 방법, 시스로그 프로토콜을 통해 로그를 전달하는 방법, 오픈트레이싱을 활용해 요청에 식별자를 부여하고 분석하는 방법
[15장 성능 튜닝]
자동화 도구를 사용해 시험을 수행하고 결과를 측정해 성능을 튜닝하는 방법
[16장 엔진엑스 인스턴스 매니저]
엔진엑스 인스턴스 매니저를 셋업하는 방법, 에이전트를 설치하는 방법, API로 탐색, 설정, 모니터링을 자동화하는 방법
[17장 엔진엑스 컨트롤러]
엔진엑스 컨트롤러 셋업 개요, 컨트롤러를 엔진엑스 플러스 서버 인스턴스와 연결하고 API로 제어하는 방법
[18장 실전 운영 팁]
설정 파일이 정확하게 만들어졌는지 확인하는 방법, 설정 파일을 디버깅하는 방법
기본정보
ISBN | 9791169210614 | ||
---|---|---|---|
발행(출시)일자 | 2022년 12월 20일 | ||
쪽수 | 244쪽 | ||
크기 |
184 * 237
* 13
mm
/ 684 g
|
||
총권수 | 1권 | ||
원서(번역서)명/저자명 | Nginx Cookbook/Derek DeJonghe |
Klover 리뷰 (5)
구매 후 리뷰 작성 시, e교환권 200원 적립
사용자 총점
80%의 구매자가
도움돼요 라고 응답했어요
집중돼요
도움돼요
쉬웠어요
최고예요
추천해요
문장수집 (1)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립
-
반품/교환방법
* 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900) -
반품/교환가능 기간
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내 -
반품/교환비용
-
반품/교환 불가 사유
(단지 확인을 위한 포장 훼손은 제외)
2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
3) 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등 -
상품 품절
-
소비자 피해보상 환불 지연에 따른 배상
2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)
기분 좋은 발견
이 분야의 베스트
이 분야의 신간
-
Wireshark로 배우는 컴퓨터 네트워크39,000 원
-
기초부터 배우는 최신 스토리지 입문10% 19,800 원
-
쿠버네티스 창시자에게 배우는 모범 사례10% 30,600 원
-
네트워크 관리13,000 원
-
초연결사회를 위한 컴퓨터 네트워크23,000 원