Nginx 기초 지식
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 입 니 다.
극 객 시간: 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 입문 부터 실전 까지
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.