Nginx 사용 경험 치 소결

3357 단어
Nginx
Nginx 소개
경량급 웹 서버 / 역방향 프 록 시 및 이메일 (IMAP / POP 3) 프 록 시
Nginx 명령 매개 변수
nginx - t 설정 이 정확 한 지 테스트 nginx - s reload 로 딩 최신 설정 nginx - s stop 즉시 정지 nginx - s quit 우아 정지 nginx - s reopen 로그 kill - USR 2 cat / usr / local / nginx / logs / nginx. pid 빠 른 재 부팅
Nginx 전역 설정
worker_processes 1;작업 프로 세 스 는 CPU 개수 1 개 * 핵 이벤트 구간 네트워크 카드 요청 80 443 Nginx 트리거 이벤트
Nginx 가상 호스트 설정
listen server_name location
Nginx 로그 관리
* 시스템 기본 로그 형식: logformat main '$remote_addr $request_length $body_bytes_sent $request_time[s] - - [$time_local] ' '"$request" $status $http_referer "-" "$http_user_agent" $server_name $server_addr $http_x_forwarded_for $http_x_real_ip'; * 사용자 정의 로그 형식: logformat simple '$remote_addr - $request '* 시스템 기본 로그 해석: 원 격 IP - 원 격 사용자 / 사용자 시간 요청 방법 요청 body 길이 referer 소스 정보 http - user - agent 사용자 에이전트 / 거미 전송 요청 원본 ip httpx_forwarded_for 대 리 를 통 해 원래 의 IP 를 이 정보 에 추가 하여 원본 IP 를 전송 합 니 다.
Nginx - Laravel 5 프로젝트 구축
window 업로드 로 컬 프로젝트 사용 secureCRT - sftp put get 명령 업로드 connect sftp session, 원 격: cd 로 컬: lcd, lpwd, put *. zip Laravel 5 반환 500 권한 수정: 1. chmod 777 - R storage 2. chmod 777 - R bootstrap / cache / 설정 env: vi. env 수정 데이터베이스 설정 관련 매개 변수 실행 php artisan migrate 생 성 데이터 시트
Nginx 지원 pathinfo

#     
location ~ \.php$ {
  root      html;
  fastcgi_pass  127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
  include    fastcgi_params;
}

#    1,6 ,  pathinfo

location ~ \.php(.*)$ { #     .php  pathinfo  
  root html;
  fastcgi_pass  127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
  fastcgi_param PATH_INFO $1; #  pathinfo    PATH_INFO  
  include    fastcgi_params;
}


Nginx URL 재 작성 지원
1. 자원 파일 이 아니면 다시 쓰기

if (!-e $request_filename) {
  rewrite (.*)$ /index.php/$1;
}

2.try_files try_files $uri $uri/ /index.php?$args;

Nginx 역방향 에이전트 와 동정 분리
Nginx 로 리 버스 에이전트 용 proxypass, 역방향 에이 전 트 를 예 로 들 면 nginx 는 그림 에 대한 요청 을 스스로 처리 하지 않 고 그림 의 요청 을 아파 치 에 전송 합 니 다.

location ~\.(jpg|jpeg|png|gif)${
   proxy_pass HTTP://IP:port;
 }

역방향 프 록 시 로 인해 백 엔 드 서버 는 클 라 이언 트 IP 가 실제 IP 솔 루 션 이 아 닌 프론트 서버 의 IP 를 받 게 되 었 습 니 다.

location ~ \.(jpg|jpeg|png|gif) {
   proxy_set_header X-Forwarded-For $remote_addr;
   proxy_pass IP:port;
 }



Nginx 클 러 스 터 와 부하 균형
Upstream {} 모듈 은 여러 대의 서버 를 한 그룹 에 추가 한 다음 memcache pass, fastcgipass, proxy_pass = > upstream 그룹
Upstream 설정

 upstream web{
   server IP:8080 weight=1 max_fails=2 fail_timeout=30s;
   server IP2:80 weight=1 max_fails=2 fail_timeout=30s;
 } 
 

  하류 호출

 location ~ \.(jpg|png|gif|jpeg) {
 proxy_set_header X-Forwarded-For $remote_addr;
     proxy_pass http://web;
 }

부하 균형
쿠키 값 차 이 를 기반 으로 부하 균형 (Nginx sticky 모듈)  URI 기반 일치 성 해시 알고리즘 균형 잡기 (NginxHttpUPstream ConsistentHash 모듈)  IP 기반 부하 균형

좋은 웹페이지 즐겨찾기