Nginx 의 이 사소한 일
의존 항 준비
사용 가능 한 의존 라 이브 러 리, 아래 공식 사이트 링크 를 제공 하면 스스로 다운로드 할 수 있 습 니 다.
pcre
http://www.pcre.org/
zlib
http://zlib.net
http://sourceforge.net/projects/libpng/files/zlib/
zlib. net 이 올 라 갈 수 없습니다. 벽 에 걸 렸 는 지 다른 링크 를 사용 할 수 있 습 니 다. zlib 는 libpng 의존 라 이브 러 리 입 니 다.
openssl
http://www.openssl.org/
주: 상기 몇 개의 라 이브 러 리 는 설치 하지 않 고 압축 을 풀 면 됩 니 다. 컴 파일 할 때 연 결 됩 니 다.어떤 시스템 은 이미 설 치 된 것 을 무시 할 수 있다.
본문 에 사 용 된 플러그 인 모듈:
https://github.com/agentzh/srcache-nginx-module
https://github.com/agentzh/memc-nginx-modules
설치 하 다.
nginx 는 windows 를 지원 한 지 오래 되 었 지만 본 고 는 Liux 의 설치 만 소개 합 니 다.
nginx 공식 사이트 에서 원본 패키지 다운로드 (http://www.nginx.org/ ) 그리고 스트레스 를 푼다.
본 고 를 발표 할 때 최신 판 1.3.0 이 방금 발표 되 었 으 니 1.2.0 을 사용 하 는 것 을 권장 합 니 다.개원 한 동 동 은 항상 한 무더기 의 버 전이 있다. 국내의 해적판 사고 에 따 르 면 많은 사람들 이 최신 판 을 즐겨 사용한다. 사실은 최신 판 은 불안정 하고 각종 영문 도 모 르 는 BUG 가 있 으 며 심지어 어떤 것 은 번역 해서 통과 할 수 없다.그래서 보통 최신 버 전의 이전 버 전의 안정 판 을 사용 하 는 것 을 추천 합 니 다.
실행. / configure
- ./configure --with-pcre=/usr/local/pcre-8.30/ --with-zlib=/usr/local /zlib-1.2.3/ --with-openssl=/usr/local /openssl-1.0.1c/ --prefix=/usr/local/nginx --add-module=/usr/local/agentzh-memc-nginx-module --add-module=/usr/local/agentzh-srcache-nginx-module
매개 변수 소개:
--with-pcre=/usr/local/pcre-8.30/
pcre 압축 해제 경로 나 설 치 된 경 로 를 가리 키 기
--with-zlib=/usr/local /zlib-1.2.3/
zlib 압축 해제 경로 나 설 치 된 경 로 를 가리 키 기
--with-openssl=/usr/local /openssl-1.0.1c/
openssl 압축 해제 경로 나 설 치 된 경 로 를 가리 킵 니 다.
--prefix=/usr/local/nginx
nginx 가 설치 할 경 로 를 지정 합 니 다.
--add-module=/usr/local/agentzh-memc-nginx-module
--add-module=/usr/local/agentzh-srcache-nginx-module
위의 두 모듈 은 주로 memcached 를 호출 하 는 데 사 용 됩 니 다. 자세 한 내용 은 캐 시 섹 션 을 참조 하 십시오.
컴 파일 및 설치
- make&&make install
테스트
설치 에 성공 하면 설치 후의 nginx 경로 에서 실 행 됩 니 다.
- sbin/nginx -v
실행 후 nginx 버 전 정 보 를 표시 하면 설치 가 완료 되 었 음 을 표시 합 니 다.
기본 사용
매개 변수
- 현재 nginx 버 전 번호 와 컴 파일 정 보 를 표시 합 니 다.
- v 현재 nginx 버 전 번호 만 표시
- t 설정 파일 의 정확성 테스트
- c < 파일 경로 설정 > 시스템 conf / nginx. conf 를 사용 하지 않 고 사용자 가 지정 한 프로필 경 로 를 사용 합 니 다.
예:
- sbin/nginx -V
이상 명령 의 실행 결 과 는 '컴 파일 정보' 를 표시 하 는 것 입 니 다. 사용 하 는 자체 테이프 모듈 과 제3자 모듈 을 볼 수 있 습 니 다. 지금까지 nginx 는 풍부 한 제3자 모듈 이 있 습 니 다.
- sbin/nginx -t -c myconfig.conf
이상 명령 의 역할 은 사용자 가 지정 한 프로필 my config. conf 의 정확성 을 테스트 하 는 것 입 니 다.
신호 제어
TERM 강퇴
QUIT 현재 요청 처리 완료 후 프로그램 닫 기
HUP 프로필 을 다시 불 러 옵 니 다. 프로필 을 수정 한 후 사용 합 니 다.이 작업 은 새 작업 프로 세 스 를 열 고 오래된 것 을 닫 습 니 다. 작업 프로 세 스, 현재 요청 을 중단 하지 않 습 니 다.
logsginx. pid 에 현재 실행 중인 nginx 프로 세 스 ID 를 기록 하 였 으 며, kill - 신호 명 'cat logs / nginx. pid' 를 통 해 제어 할 수 있 습 니 다.
예 를 들 면:
- kill -HUP `cat logs/nginx.pid`
이상 명령 을 실행 하면 프로필 을 다시 불 러 올 수 있 습 니 다.
감시 하 다
설정:
- location ~ ^/mystatus/ {
- stub_status on;
- access_log off;
- }
http: / < xxx > / my status / 에 직접 접근 하면 Nginx 의 운행 상태 정 보 를 표시 할 수 있 습 니 다.
부하 균형
설정:
- #netty server
- upstream nettysrv {
- server 127.0.0.1:51074 weight=1 max_fails=2 fail_timeout=10s;
- server 127.0.0.1:14174 weight=1 max_fails=2 fail_timeout=10s;
- server 127.0.0.1:17917 backup;
- }
매개 변수 설명:
weight 가중치, 수치 가 클 수록 부하 가 커진다.
백업 백업 표식
이상 은 세 개의 서버 를 부하 균형 으로 설정 하고 51074 와 14174 를 가중치 모드 로 실행 합 니 다.17917 은 백업 서비스 로 서 앞의 두 서비스 가 모두 실 패 했 을 때 만 사용 할 수 있 습 니 다.
동정 분리 및 역방향 대리
정적 접근 설정:
- #
- location ^~ /static/ {
- root /home/nginx/webroot/;
- }
루트 를 사용 하여 링크 를 로 컬 경로 / home / nginx / webroot 로 지정 합 니 다.
동적 접근 설정:
- # netty serv
- location ^~ /dynamic/ {
- proxy_pass http://nettysrv/;
- proxy_set_header Host $host;
- proxy_set_header X-Forwarded-For $remote_addr;
- }
proxy 사용pass, 앞 에 부하 균형 장 정의 서비스 nettysrv 로 지정 합 니 다.
proxy_set_header
백 엔 드 웹 서버 에 도 여러 개의 가상 호스트 가 설정 되 어 있 을 때 이 Header 로 프 록 시 이름 을 반대로 구분 해 야 합 니 다.
proxy_set_header
백 엔 드 웹 서버 의 프로그램 이 사용자 IP 를 가 져 올 필요 가 있다 면 이 헤더 에서 가 져 오 십시오.
주: location 는 정규 표현 식 으로 uri 를 일치 시 킬 수 있 습 니 다.단, 정규 표현 식 을 사용 하면 rewrite 로 uri 를 재 설정 할 수 있 을 뿐 루트 와 proxy 를 사용 할 수 없습니다.pass。
캐 시
자체 캐 시 사용 proxycache
http 아래 설정:
- proxy_temp_path proxy_temp_dir;
- # 2000m 1 , 5m
- proxy_cache_path proxy_cache_dir levels=1:2 keys_zone=cache_one:2000m inactive=5m max_size=5m;
위치 에서 캐 시 호출 설정:
- location ^~/proxytest/ {
- proxy_cache cache_one;
- proxy_cache_valid any 5m;
- proxy_pass http://nettysrv/;
- }
플러그 인 을 사용 하여 memcached 를 호출 합 니 다.
memcached 를 사용 하려 면 앞에서 언급 한 제3자 플러그 인 을 사용 해 야 합 니 다.
agentzh-memc-nginx-module
agentzh-srcache-nginx-module
플러그 인의 설치, nginx 컴 파일 시 - add - module 인 자 를 추가 하면 됩 니 다.
- --add-module=/usr/local/agentzh-memc-nginx-module --add-module=/usr/local/agentzh-srcache-nginx-module
구체 적 으로 nginx 의 설치 장 을 참고 할 수 있 습 니 다.
설정 은 다음 과 같 습 니 다:
- #memcached
- upstream memcachesrv {
- server 127.0.0.1:11211;
- }
-
- # memcached location
- location ^~/memcachetest {
- set $key $uri$args;
- #set_md5 $key;
- srcache_fetch GET /mcache $key;
- srcache_store PUT /mcache $key;
- #more_clear_headers 'Accept-Encoding';
- proxy_pass http://nettysrv/;
- }
-
- # srcache location , , , 。
- location /mcache {
- internal;
- memc_connect_timeout 1000ms;
- memc_send_timeout 1000ms;
- memc_read_timeout 1000ms;
- set $memc_key $query_string;
- set $memc_exptime 300;
- memc_pass memcachesrv;
- }
^ ~ / memcachetest 설정 에서 $uri $args 를 / mcache 에 전송 하고 mcache 용 $querystring 에서 memcache 로 서 key 를 꺼 냅 니 다.
레 퍼 런 스
http://www.nginx.org/
http://wiki.nginx.org/Main
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.