Nginx 기초 지식

5535 단어 nginxopenresty
머리말
Nginx 는 현재 거의 많은 대형 사이트 의 필수 기술 입 니 다. 모두 가 Nginx 가 F5 에 인 수 된 큰 사건 을 알 고 있 을 것 입 니 다. 장 이춘 도 OpenResty 프로젝트 를 유지 하고 조화 로 운 가정 을 구축 하 는 데 전념 하고 있 습 니 다. Nginx 를 선택 하 든 OpenResty 를 선택 하 든 모두 Nginx 에 대해 전면적 인 설명 을 해 야 앞으로 적은 노력 으로 큰 효 과 를 거 둘 수 있 습 니 다.본 고 는 개발 자 에 게 필수 적 인 Nginx 기초 지식 을 위주 로 하고 참고 글 에 현재 비교적 우수한 Nginx 와 OpenResty 참고 튜 토리 얼 을 나열 하여 여러분 에 게 도움 이 되 기 를 바 랍 니 다.
Nginx 기초 지식
역 사 를 갱신 하 다
2019 년 11 월 12 일 - 초고
원문 읽 기 -https://wsgzao.github.io/post...
확장 읽 기
nginx.org
NGINX Plus
OpenResty
Nginx 기초 지식
Nginx 가 뭐 예요?
Nginx 는 클 라 이언 트 와 서버 의 요청 을 처리 하 는 웹 서버 입 니 다.
특징 과 우세
  • 높 은 병발
  • 열 배치
  • 빠르다
  • 낮은 전력 소모
  • 열 배치
  • 사용 및 확장
    오픈 소스 무료 Nginx 와 상업 판 Nginx Plus, 이에 대응 하 는 것 은 무료 OpenResty 와 상업 판 OpenResty 입 니 다.
  • 오픈 소스 ngix. org
  • 상업 판 NGINX Plus
  • 알 리 바 바 텐 기 네
  • 오픈 소스 오픈 레 스 티
  • 상업 판 OpenResty
  • 도 휘 의 작가 가 극단 적 인 시간 에 강의 한 PDF 는 이미 매우 상세 하 게 소개 되 었 다. 만약 에 과정 이 괜찮다 고 생각 되면 구 매 를 선택 하여 시행 착 오 를 최소 화 할 수 있다.
    극 객 시간: nginx 핵심 지식 100 강 프로필 과 코드 공유
    nginx 정방 향 에이전트 와 역방향 에이전트
    이해 하기 편리 하도록 먼저 기초 지식 을 알 아 보 겠 습 니 다. nginx 는 고성능 의 역방향 프 록 시 서버 입 니 다. 그러면 역방향 프 록 시 는 무엇 입 니까?
    프 록 시 는 서버 와 클 라 이언 트 사이 에 설 정 된 서버 입 니 다. 프 록 시 는 클 라 이언 트 의 요청 을 받 고 서버 에 전송 한 다음 에 서버 의 응답 을 클 라 이언 트 에 게 전달 합 니 다.
    정방 향 대리 든 역방향 대리 든 모두 위의 기능 을 실현 한다.
    OSI 7 층 모델 과 TCP / IP 4 층 모델 에 익숙 하지 않다 면 다시 한 번 돌 이 켜 보 세 요.
    정방 향 에이전트
    정방 향 프 록 시 (forward) 는 클 라 이언 트 와 원본 서버 (origin server) 사이 에 있 는 서버 를 의미 합 니 다. 원본 서버 에서 내용 을 얻 기 위해 클 라 이언 트 가 프 록 시 에 요청 을 보 내 고 대상 (원본 서버) 을 지정 한 다음 프 록 시 는 원본 서비스 기 에 요청 을 전달 하고 얻 은 내용 을 클 라 이언 트 에 게 되 돌려 줍 니 다.
    정방 향 프 록 시 는 저 희 를 위 한 서비스 입 니 다. 즉, 클 라 이언 트 를 위 한 서비스 입 니 다. 클 라 이언 트 는 정방 향 프 록 시 에 따라 자신 이 접근 할 수 없 는 서버 자원 에 접근 할 수 있 습 니 다.
    정방 향 프 록 시 는 우리 에 게 투명 하고 서버 에 대해 투명 하지 않 습 니 다. 즉, 서버 는 자신 이 프 록 시 에서 온 방문 인지 실제 클 라 이언 트 에서 온 방문 인지 모 릅 니 다.
    역방향 에이전트
    역방향 프 록 시 (Reverse Proxy) 방식 은 프 록 시 서버 로 인터넷 의 연결 요청 을 받 은 다음 내부 네트워크 에 있 는 서버 에 전송 요청 을 하고 서버 에서 얻 은 결 과 를 인터넷 에서 연결 을 요청 하 는 클 라 이언 트 에 게 되 돌려 주 는 것 을 말한다. 이때 프 록 시 서 비 스 는 대외 적 으로 역방향 프 록 시 서버 로 나타난다.
    역방향 프 록 시 는 서버 를 위 한 서비스 입 니 다. 역방향 프 록 시 는 서버 가 클 라 이언 트 로부터 요청 을 받 도록 도와 주 고 서버 가 전송 요청, 부하 균형 등 을 할 수 있 도록 도와 줍 니 다.
    역방향 프 록 시 는 서버 에 투명 하고 우리 에 게 투명 하지 않 습 니 다. 즉, 우 리 는 자신 이 프 록 시 서버 에 접근 한 것 을 모 르 고 서버 는 역방향 프 록 시가 그 를 위해 서 비 스 를 하고 있다 는 것 을 알 고 있 습 니 다.
    nginx 기본 설정
    nginx 를 설치 할 때 보통 필요 한 모듈 을 컴 파일 해 야 합 니 다. rpmbuild 를 사용 하여 Nginx 의 RPM 패 키 지 를 만 들 수 있 습 니 다.
    main                                #     
    
    events {                            # nginx      
    }
    
    http {                                # http  
        ....
    
        server {                        #        
            ....
            location {                    #     
                ....
            }
    
            location path {
                ....
            }
    
            location otherpath {
                ....
            }
        }
    
        server {
            ....
    
            location {
                ....
            }
        }
    
        upstream name {                    #       
            ....
        }
    }

    nginx 규범 설정 을 만 들 려 면 nginxconfig. io 를 참고 하 십시오.
    다음은 nginx 일부 설정 에서 자주 사용 하 는 내 장 된 전역 변수 입 니 다. 설정 한 모든 위치 에서 사용 할 수 있 습 니 다.
    변수 이름
    기능.$host
    요청 정보 중 Host, 요청 중 Host 줄 이 없 으 면 설 정 된 서버 이름 과 같 습 니 다.$request_method
    클 라 이언 트 요청 유형, 예 를 들 어 GET, POST$remote_addr
    클 라 이언 트 의 IP 주소$args
    요청 중인 인자$content_length
    요청 헤더 의 Content-length 필드$http_user_agent
    클 라 이언 트 에이전트 정보$http_cookie
    클 라 이언 트 쿠키 정보$remote_addr
    클 라 이언 트 의 IP 주소$remote_port
    클 라 이언 트 포트$server_protocol
    사용 요청 프로 토 콜, 예 를 들 어 HTTP/1.0, HTTP/1.1\$server_addr
    서버 주소$server_name
    서버 이름$server_port
    서버 포트 번호
    nginx 부하 균형
    Upstream 은 백 엔 드 서버 주소 목록 을 지정 하여 server 에서 응답 요청 을 차단 하고 Upstream 에 설 정 된 서버 목록 으로 전송 할 것 을 요청 합 니 다.
    upstream balanceServer {
        server 10.1.22.33:12345;
        server 10.1.22.34:12345;
        server 10.1.22.35:12345;
    }
    
    server {
        server_name  fe.server.com;
        listen 80;
        location /api {
            proxy_pass http://balanceServer;
        }
    }

    위의 설정 은 nginx 가 전송 해 야 할 서버 목록 만 지정 하고 할당 정책 은 지정 되 지 않 았 습 니 다.
    기본적으로 폴 링 정책 을 사용 하여 모든 클 라 이언 트 요청 폴 링 을 서버 에 배정 합 니 다.이 정책 은 정상적으로 작 동 할 수 있 지만, 그 중 한 대의 서버 가 너무 스트레스 를 받 아 지연 되면 이 서버 에 분 배 된 모든 사용자 에 게 영향 을 줄 수 있 습 니 다.
    nginx 상용 명령
    #     Nginx,         ,     web  
    nginx -s stop
    #     Nginx,      ,      web  
    nginx -s quit
    #     Nginx    ,           
    nginx -s reload
    #         
    nginx -s reopen
    #   Nginx         ,      
    nginx -c filename
    #    ,         。nginx               ,                 
    nginx -t
    #     nginx    
    nginx -v
    #    nginx    ,          
    nginx -V
    #       nginx     
    2>&1 nginx -V | xargs -n1
    2>&1 nginx -V | xargs -n1 | grep lua

    참고 문장
    이상 의 내용 은 nginx 의 빙산 의 일각 일 뿐 입 니 다. 저 는 개인 적 으로 여러분 들 이 공식 문서 나 극단 적 인 시간 과 비슷 한 강 좌 를 따라 공부 하 는 것 을 추천 합 니 다. 시행 착 오 를 많이 줄 일 수 있 습 니 다.
    nginx documentation
    전단 개발 자 필수 nginx 지식
    Nginx 의 최적화 방법
    agentzh 의 Nginx 튜 토리 얼
    OpenResty 최고의 실천
    다음은 극 객 시간 칼럼.
    Nginx 핵심 지식 100 강
    극 객 시간: nginx 핵심 지식 100 강 프로필 과 코드 공유
    OpenResty 입문 부터 실전 까지

    좋은 웹페이지 즐겨찾기