>  기사  >  백엔드 개발  >  nginx 읽기 노트

nginx 읽기 노트

WBOY
WBOY원래의
2016-08-08 09:23:56992검색
계획 :
간략하게 사용해보고 책을 읽어서 완전히 이해해봤습니다.
1. "실용적인 nginx: Apache를 대체하는 고성능 웹 서버"
내용: 설치, 구성 및 최적화, PHP FastCGI, JSP, 리버스 프록시, 로드밸런싱, 재작성, 캐시, 모듈 소개
역방향 프록시, 로드밸런싱, 재작성, 캐시, 모듈 소개를 중심으로 순서대로 진행합니다.
2. "Nginx에 대한 심층적 이해: 모듈 개발 및 아키텍처 분석/Tao Hui. —Beijing: Machinery Industry Press, 2013.3" 978-7-111-41478-0
이 책에서는 nginx를 기반으로 확장 모듈을 개발하는 방법에 대해 설명합니다.
첫 번째 부분에서는 어떻게 사용하는지 이야기한 후, 아키텍처를 분석하고 어떻게 개발해야 하는지 이야기합니다.
“Nginx는 전송 계층에서 TCP를 통해 외부 서비스를 제공하는 서버 프로그램을 개발하는 데 매우 적합합니다.”
첫 번째 부분을 읽고 나머지 부분을 훑어보세요.
3. "nginx http 서버 배우기"
내용: 설치, http 구성, ssi, php, apache 다시 작성
마침내 간단 잠시 후 누락된 부분이 있는지 확인하고

책 1: "실용적인 nginx: 아파치를 대체하는 고성능 웹 서버"

---를 작성하세요. ------- ----------
13:25 2014-05-18 1. 소개
nginx는 epoll 및 kqueue 네트워크 io 모델을 사용할 수 있습니다.
----------------------
13:29 2014-05-18 2. 설치 및 구성
http://www.nginx.net/
메인라인 버전 1.7, 안정 버전 1.6, 1.7을 선택합니다.
Windows 버전과 Linux 버전이 모두 필요합니다.
APT 라이브러리에서도 사용 가능한가요? 최신 버전은 무엇입니까?
http://nginx.org/en/download.html
http://nginx.org/download/nginx-1.7.0.tar.gz
http://nginx.org/download/nginx-1.7.0.zip
온라인 소스 코드 보기: http://trac.nginx.org /nginx /브라우저.
테스트된 운영 체제 및 플랫폼
Linux 2.2 - 3 / i386; Linux 2.6 - 3 / amd64
Windows XP, Windows Server 2003.
내 실험 환경: Windows 2008 Server R2의 Ubuntu 14.04 가상 머신.
tar
./configure [다양한 옵션]
make
make install
시작
nginx -c nginx.confg
PID 보기
ps -ef | grep nginx
중지
kill -QUIT pid
kill -TERM pid
kill -9 nginx
구성 파일 확인
nginx -t -c nginx.config
단계적 재시작
kill -HUP pid
-USR2: 원활한 업그레이드
-USR1: 로그 파일 다시 열기
-WINCH: 작업 프로세스를 정상적으로 종료
----------------------

14:09 2014-05-18 3. 기본 구성 및 최적화

3시간 반 낭비

17:24 2014-05-18 GO ON
nginx.config 구조
이벤트{
}
http{
서버{
}
서버{
}
}
nginx는 IP 기반, 도메인 이름 기반, 포트 기반 등 다양한 가상 호스트 구성을 지원합니다.
log_format은 다양한 변수를 참조할 수 있습니다!
부록에는 각 모듈을 포함한 전체 목록이 있습니다.
역방향 프록시 이후에는 $http_x_forwarded_for가 클라이언트의 실제 IP이고 $remote_addr은 그렇지 않습니다.
특히 이미지, js, css, swf 등과 같이 거의 변경되지 않는 콘텐츠의 경우 브라우저 측 캐싱을 설정해야 합니다.
----------------------

18:14 2014-05-18 4. FastCGI

PHP 또는 Perl

위치 ~ .*.(php|php5)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}

부팅 시 자동 시작 설정

Linux 작업을 강화하고 싶은데, 책을 찾아 읽어보세요. 네트워크 설정, 시스템 설정, 스크립트 분석 등

vi /etc/rc.local
------------
ulimit -SHn 65535
/../php/sbin/php-fpm start
/../sbin/nginx
----------------------
18 :40 2014-05-18 5. JSP
흠! 기운을 북돋우세요.
upstream tomcat_server{
server 127.0.0.1:8000;

}

많습니다 여기 서버. ip_hash를 사용할 수 있으며 부하가 불균형할 수 있지만 Session을 복사할 필요는 없습니다. 세션을 복사하면 클러스터에 있는 각 서버의 메모리가 채워집니다.

서버{

위치 ~ .(jsp|jspx|do)?${
proxy_set_header 호스트 $host;
proxy_set_header }
}
------------------- ------- ------18:46 2014-05-18 6. HTTP 로드 밸런싱 및 역방향 프록시
OSI 검토

1. 물리적

2. 데이터 링크
3. 네트워크: IP, IPX
4.전송! TCP와 UDP가 중요해지고 있습니다
5. 세션
6. 표현
7. 기다리다.
일반적인 로드 밸런싱 솔루션은 레이어 4/레이어 7에 있습니다.
전설의 F5. 고급 장비. 국내산 더 싼거 있나요? 확신하다, 화 3.
서민을 위한 LVS(Linux Server)구체적으로 읽을 책 찾기
nginx
다운 오프라인
백업은 백업이 아닌 모든 머신이 다운된 경우에만 활성화됩니다.
ip_hash는 session_sticky와 유사합니다
업스트림
proxy_pass
fastcgi_pass
nginx 듀얼 머신 고가용성:
백그라운드 모니터링 및 드리프트 IP를 위한 스크립트 작성; 오프라인 전송. Keepalived를 사용하여 구현해야 합니까? 기사를 찾아 읽어보세요. 단일 머신은 100,000개를 로드할 수 있습니다. Load Balance에 대한 수요는 크지 않을 수 있지만 HA에 대한 수요는 너무 많습니다. 모듈 지원이 있나요?
----------------------
19:23 2014-05-18 7. 재작성

다양한 정규식

PCRE


재작성 시 return break를 설정

= 같음

!= 같지 않음
~ 대소문자 구분
~* 큰 메시지는 구분되지 않습니다
-f 파일이 존재합니다
!-f 파일이 존재하지 않습니다
-d 디렉토리가 존재합니다
-e 파일 또는 디렉토리가 존재합니다.
-x 파일 실행 가능
(). 나중에 $1-$9
set를 통해 액세스할 수 있습니다.
7.2.7 사용할 수 있는 전역변수
$http_cookie
$args
7.3 PCRE 문법! !
문자 전송
^ 줄 시작
$ 줄 끝
* 이전 0회 아니면 n번
+ 이전 1번 또는 n번
? 이전 0~1회
밤 각종
--------- ---- -------
19:56 2014-05-18 8. 모듈 개발
전문가 경쟁 .
구성 파일에는 기본, 서버, 업스트림, 위치가 포함됩니다.
모듈은 동적으로 추가할 수 없으며 컴파일 시 바이너리 파일로 컴파일해야 합니다. 핸들러 처리 모듈

필터 또는 그린 모듈
로드 밸런서 로드 밸런싱 모듈
8.1
모듈은 AOP의 측면과 동일하며 다양한 이벤트를 처리하기 위해 마운트할 수 있습니다.
자세히 보지 말고 내려다보세요.
-----------------------------------20: 02 2014-05-18
9. 캐시
유명한 오징어

proxy_cache 명령

시나개발 멀티코어를 최대한 활용하는 ncache 모듈은 Squid보다 빠릅니다
20:29 2014-05-18
proxy_cache_path
proxy_cache_method
proxy_cache_valid
proxy_cache_key
./configure --add-module=../ngx_cache_purge-1.0
proxy_temp_path 생성과 Proxy_cache_path는 동일한 파티션에 있어야 합니다
------------ ------ -
20:41 2014-05-18 10.사례
시나영상
Jinshan Xiaoyao.com
CMS
동영상 사이트
rsync, 나중에 확인해보세요.
----------------------
21:05 2014-05-18 11. 비정형 애플리케이션
HTTPS
./configure --with-http_ssl_module
자발적 인증서
개인 키 생성
openssl genrsa -des3 -out api.bz.key 1024
openssl req -new -key aop.bz.key -out api.bz.csr
openssl rsa -in api.bz.key -out api.bz_nopass.key
인증서 만들기
openssl req -new -x509 -days 3650 -key api.bz_nopass.key -out api.bz.crt
개인 키 파일 가져오기: api.bz_nopass.key
인증서: api.bz.crt
서버{ssl on;
ssl_certificate api.bz.crt;
ssl_certificate_key api.bz_nopass.key;
}
CA에서 인증서 신청
마찬가지로 개인 키 생성
http://startssl.com에서는 무료 인증서를 제공합니다.
FLV 비디오 서버
HTTP 다운로드 또는 스트리밍(Flash Media Server/RTMP)
nginx는 flv 스트림 모듈 제공, 드래그 지원
./configure --with-http_flv_module
limit_rate_after 3m
limit_rate 512k
키프레임 추가
flv 플레이어 찾기
스트리밍 미디어 fms/red5 로드 밸런싱
VPS(Virtual Private Server) 가상 머신
가장 큰 지표는 기억력이다.
정방향 프록시
---------------- ---
21:27 2014-05-18 12. 핵심 모듈
--------- -- ---------------------
21:34 2014-05-18 13. 🎜>
----------------------
21:53 2014-05-18 14. 기타 모듈
12, 13, 14번은 참고 매뉴얼이므로, 언제든지 읽어보시고 참고하시기 바랍니다.
----------------------
21:55 2014-05-18 15. 이메일 모듈
이것도 매우 실용적이에요!
권 2:

"Nginx에 대한 심층적인 이해: 모듈 개발 및 아키텍처 분석 ". 1장 설치
내일 출근길에 아주 자세하게 읽어보겠습니다.
Chapter2 구성
매우 자세하게!
3장 HTTP 모듈 작성 방법
너무 자세하게 따라하면 Hello, world! 기음.
nginx의 디자인과 코드가 너무 멋지네요, 꼭 한번 살펴보고 싶습니다.
시간 조율이 어려워 아쉽네요.
포기하는 모든 것은 반드시 얻어야 합니다.
3권, "nginx http 서버 배우기"
젠장!
mkdir부터 시작해서 기본적인 리눅스 명령어까지 가르칩니다.
초보자의 필독서! !
유저 그룹을 어떻게 만드는지 잘 모르겠어서 좀 더 자세히 살펴보는 시간을 가져야겠습니다.
Ch1 기본 리눅스 동작
Ch2 설치 22:11 2014-05-18
Ch3 구성 22:12 2014-05- 18
Ch4 HTTP 구성 22:13 2014-05-18
Ch5 모듈 구성 22:14 2014-05-18
Ch6 PHP, Python 22:15 2014-05-18
Ch7 Apache
Ch8 Apache에서 이식
22:17 2014- 05-18 감기약을 먹고 거의 졸렸습니다.
위 내용은 관련 내용을 포함하여 nginx 읽기 노트에 대한 소개입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.