Nginx 간명 한 튜 토리 얼

4796 단어
목차
  • Nginx 가 뭐야
  • 왜 Nginx 야?
  • Nginx 가 아파 치 의 장점 에 비해
  • Apache 가 Nginx 에 비해 장점
  • 예시 코드
  • 역방향 대리
  • url 의 / 문제
  • 부하 균형
  • 페이지 캐 시
  • 소결
  • Nginx 가 뭐야?
    Nginx 홈 페이지 의 정 의 는 다음 과 같 습 니 다.
    nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server
    왜 Nginx 야?
    Nginx 를 제외 하고 웹 서버 의 맏형 은 Apache HTTP Server (httpd, 이하 Apache) 일 것 이다. Apache 는 Nginx 와 함께 인터넷 에서 50% 가 넘 는 데 이 터 를 지탱 했다.
    근 데 왜 우리 가 Nginx 를 중점적으로 소개 해 야 되 지?
    Nginx 아파 치 의 장점
  • 경량급
  • 설정 이 간결 함
  • 높 은 병발 (비동기 비 차단 기반 실현)
  • 고 정적 처리 능력
  • Apache 의 장점
  • PHP 지원 이 더 좋 습 니 다
  • 플러그 인 이 많 고 Nginx 일부 플러그 인 은 비용 을 받 거나 직접 컴 파일 해 야 합 니 다
  • 고 동태 처리 능력
  • 일반적으로
  • Nginx 는 정적 과 역방향 프 록 시 서버 로 전단 정적 요청 을 처리 합 니 다
  • 아파 치 는 동적 프 록 시 서버 로 백 엔 드 동적 요청 처리
  • 예제 코드
    nginx 설정 을 검증 하기 위해 간단 한 서버 프로그램 을 썼 습 니 다. 완 성 된 Demo 코드 는 이곳 의 StudyNginx 를 참고 할 수 있 습 니 다.
  • url 에 표 시 된 내용 은 다음 과 같다
  • /                                Welcome to Express
    /users                       users
    /proxy                       proxy
    /proxy/users             proxy/users
    
  • 운행 하 는 포트 번 호 는 3000
  • 이다.
    역방향 에이전트
    역방향 에이 전 트 는 Nginx 에서 가장 자주 사용 하 는 기능 중 하나 입 니 다. 설정 은 다음 과 같 습 니 다.
    server {
        location / {                             
                proxy_pass http://127.0.0.1:3000;
        }
    }
    

    집행 하 다.
    sudo service nginx restart
    

    nginx 를 다시 시작 하면 서버 ip 로 각 url 에 접근 하 는 효 과 는 다음 과 같 습 니 다.
    server-ip/                         Welcome to Express
    server-ip/users                users
    server-ip/proxy                proxy
    server-ip/proxy/users   proxy/users
    

    질문
    역방향 프 록 시 설정 중pass 시 url 뒤에 '/' 를 넣 는 지 안 넣 는 지 차이 가 있 습 니까?저희 가 실제로 효 과 를 볼 게 요.
  • 추가 /
  • server {
        location / {                              
        }                                         
                                                  
        location /proxy/ {                         
                proxy_pass http://127.0.0.1:3000; 
        }
    }
    

    nginx 를 다시 시작 하면 서버 ip 로 각 url 에 접근 하 는 효 과 는 다음 과 같 습 니 다.
    server-ip/                        Welcome to Nginx 
  • 더하기 /
  • server {
        location / {                              
        }                                         
                                                  
        location /proxy/ {                         
                proxy_pass http://127.0.0.1:3000/; 
        }
    }
    

    nginx 를 다시 시작 하면 서버 ip 로 각 url 에 접근 하 는 효 과 는 다음 과 같 습 니 다.
    server-ip/              Welcome to Nginx 

    위의 예 에서 볼 수 있다
    하면, 만약, 만약...pass 의 url 에 "/" 를 추가 하면 역방향 대 리 는 location 부분 을 제거 합 니 다.
    부하 균형
    서버 의 압력 이 갈수 록 커지 면 여러 대의 서버 로 서 비 스 를 제공 하 는 것 을 고려 해 야 한다. 그러면 Nginx 는 부하 균형 서버 로 변신 할 수 있다.
    설정 방법 은 다음 과 같 습 니 다.
    upstream server-name  {
        server server-ip-01;
        server server-ip-02;
    }
    
    server{ 
        server_name server-name; 
        location / { 
            proxy_set_header   Host             $host; 
            proxy_set_header   X-Real-IP        $remote_addr; 
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 
        } 
    }
    

    부하 균형 은 여러 대의 설비 가 필요 하기 때문에 인 스 턴 스 를 제공 하지 않 았 다.
    페이지 캐 시
    페이지 캐 시 를 여 는 방식 은 ngix. conf 에 다음 과 같이 추가 하 는 것 입 니 다.
    proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=STATIC:200m inactive=24h max_size=1g;
    

    그 중에서 설명해 야 할 것 은 키스zone 옵션
    keys_zone=STATIC:200m,     zone   STATIC,         200MB
    

    이 어 server 에서 이 캐 시 를 사용 합 니 다.
    server {
        proxy_cache STATIC; 
        proxy_cache_key $host$uri$is_args$args; 
        proxy_cache_valid 200 304 10m;
    }
    

    이렇게 해서 우리 페이지 캐 시 가 열 립 니 다.
    인증 설정
    역방향 프 록 시, 부하 균형, 페이지 캐 시 설정 은 간단 하지만 모두 텍스트 이기 때문에 맞 춤 법 오류 가 발생 할 수 있 습 니 다. Nginx 설정 이 효과 적 인지 검증 할 수 있 는 방법 이 있 습 니까?
    사용 한 명령 과 출력 은 다음 과 같 습 니 다.
    ~ sudo nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

    Nginx 명령 을 더 알 고 싶 으 면 매 뉴 얼 'man nginx' 를 볼 수 있 습 니 다.
    작은 매듭
    위의 소 개 를 통 해 알 수 있 듯 이 Nginx 는 매우 작고 강하 다.
    물론 URL 재 작성 및 읽 기와 쓰기 분리 등 기능 은 언급 되 지 않 았 습 니 다. 더 많은 토론 은 실제 개발 에서 모색 한 후에 여러분 과 계속 토론 하고 공유 합 니 다.
    레 퍼 런 스
  • Nginx 와 Apache 는 각각 어떤 장단 점 이 있 습 니까?
  • Apache vs Nginx: Practical Considerations
  • Nginx 서버 의 역방향 프 록 시pass 설정 방법 설명
  • Nginx 역방향 에이전트, 부하 균형, 페이지 캐 시, URL 재 작성 및 읽 기와 쓰기 분리 상세 설명
  • Nginx 개발 입문 부터 정통 까지
  • 더 많은 글, 제 개인 블 로 그 를 지지 해 주세요.

    좋은 웹페이지 즐겨찾기