Nginx 설정 nginx. conf 에 대한 자세 한 설명
9721 단어 linux프로필상세 하 게 해석 하 다nginx
Nginx 는 HTTP 서버 로 도 사용 할 수 있 고 역방향 프 록 시, 메 일 서버 로 도 사용 할 수 있 습 니 다.FastCGI, SSL, Virtual Host, URL Rewrite, Gzip 등 기능 을 지원 합 니 다.또한 많은 제3자 모듈 확장 을 지원 합 니 다.
Nginx 의 안정성, 기능 집합, 예시 설정 파일 과 저 시스템 자원 의 소 모 는 그 를 뒤 따 르 게 했다. 전 세계 에서 활발 한 사이트 중 12.18% 의 사용 비율 이 있 는데 약 2220 만 개의 사이트 이다.
Nginx 상용 기능 1, Http 프 록 시, 역방향 프 록 시: 웹 서버 에서 가장 자주 사용 하 는 기능 중 하나 로 특히 역방향 프 록 시 입 니 다.
여기 서 제 가 두 장의 그림 을 드 리 겠 습 니 다. 정방 향 대리 와 반향 대리 에 대해 설명 을 하고 구체 적 인 세부 사항 은 여러분 이 자 료 를 뒤 져 보 실 수 있 습 니 다.
Nginx 가 역방향 대 리 를 할 때,×××안정 적 이 고 유연 한 퍼 가기 기능 을 제공 할 수 있 습 니 다.Nginx 는 서로 다른 정규 에 따라 서로 다른 퍼 가기 전략 을 취 할 수 있 습 니 다. 예 를 들 어 이미지 파일 이 끝 나 는 파일 서버, 동적 페이지 는 웹 서버 로 갑 니 다. 정규 적 으로 쓰 는 것 이 문제 가 없고 해당 하 는 서버 솔 루 션 이 있 으 면 마음대로 놀 수 있 습 니 다.또한 Nginx 는 반환 결과 에 대해 오류 페이지 전환, 이상 판단 등 (502, 504, 404...) 을 한다.배 포 된 서버 에 이상 이 있 으 면 다른 서버 에 다시 전송 해 달라 고 요청 한 후 이상 서버 를 자동 으로 제거 할 수 있다.
2. 부하 균형
Nginx 가 제공 하 는 부하 균형 정책 은 두 가지 가 있 습 니 다. 내장 정책 과 확장 정책 입 니 다.내 장 된 정책 은 폴 링, 가중 폴 링, Ip hash 입 니 다.확장 전략 은 천마 행 공 입 니 다. 당신 이 생각 하지 못 한 것 은 그 가 할 수 없 는 것 이 없습니다. 당신 은 모든 부하 균형 알고리즘 을 참조 하여 그 에 게 일일이 찾 아 실현 할 수 있 습 니 다.
위의 세 그림 은 이 세 가지 부하 균형 알고리즘 의 실현 을 이해한다.
Ip hash 알고리즘 은 클 라 이언 트 가 요청 한 ip 에 대해 hash 작업 을 한 다음 hash 결과 에 따라 같은 클 라 이언 트 ip 의 요청 을 같은 서버 에 나 누 어 처리 하면 session 가 공유 하지 않 는 문 제 를 해결 할 수 있 습 니 다.(PS: 같은 사용자 ip 의 요청 을 배경 웹 서버 에 고정 적 으로 전송 하여 비 공유 session (즉, apache 마다 독립 된 session 사용) 을 해결 할 수 있 습 니 다.
3. 웹 캐 시
Nginx 는 서로 다른 파일 에 대해 서로 다른 캐 시 처 리 를 할 수 있 고 설정 이 유연 하 며 FastCGI 를 지원 합 니 다.Cache, FastCGI 의 동적 프로그램 을 캐 시 하 는 데 사 용 됩 니 다.제3자 의 ngx 에 맞 춰cache_Purge, 제 정 된 URL 캐 시 내용 을 추가 삭제 할 수 있 습 니 다.(PS: fastcgi 구체 적 실현??)
4. Nginx 관련 주소
2. Nginx 프로필 구 조 를 다운로드 하면 설치 파일 은 conf 폴 더 의 nginx. conf 파일 을 열 어도 됩 니 다. Nginx 서버 의 기본 설정 은 기본 설정 도 여기에 저 장 됩 니 다.
nginx. conf 의 주석 기호 위치 \ #
nginx 파일 의 구 조 는 방금 입문 한 친구 에 게 두 번 더 볼 수 있 습 니 다.
기본 config
nginx 파일 구조
...
#
events {
#events
...
}
http
#http
{
...
#http
server
#server
{
...
#server
location [PATTERN]
#location
{
...
}
location [PATTERN]
{
...
}
}
server
{
...
}
...
#http
}
1. 전역 블록: nginx 전역 에 영향 을 주 는 명령 을 설정 합 니 다.일반적으로 nginx 서버 를 실행 하 는 사용자 그룹, nginx 프로 세 스 pid 저장 경로, 로그 저장 경로, 프로필 도입, worker process 수 생 성 등 이 있 습 니 다.
2. 이벤트 블록: nginx 서버 에 영향 을 주거 나 사용자 와 의 네트워크 연결 을 설정 합 니 다.모든 프로 세 스 의 최대 연결 수가 있 습 니 다. 어떤 이벤트 구동 모델 을 선택 하여 연결 요청 을 처리 할 지 (FreeBSD 는 kqueue, Linux 는 epoll 을 선택 합 니 다.) 여러 개의 네트워크 연결 을 동시에 받 아들 이 고 여러 개의 네트워크 연결 을 직렬 화 할 수 있 는 지 여부 등 이 있 습 니 다.
3. http 블록: 여러 개의 server, 프 록 시, 캐 시, 로그 정의 등 절대 다수의 기능 과 제3자 모듈 의 설정 (upsteam 부하 모듈) 을 포함 할 수 있 습 니 다.파일 도입, mime - type 정의, 로그 사용자 정의, 로그 파일 경로, sendfile 전송 파일 사용 여부, 연결 시간 초과, 단일 연결 요청 수 등.
4. server 블록: 가상 호스트 의 관련 매개 변 수 를 설정 합 니 다. http 에 여러 개의 server 가 있 을 수 있 습 니 다.
5. location 블록: 요청 한 경로 와 각종 페이지 의 처리 상황 을 설정 합 니 다.
다음은 이전 프로필 을 이해 하 는 동시에 제 가 만 든 테스트 기 에 도 배치 하여 예 시 를 드 리 겠 습 니 다.
\ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # 모든 명령 은 분점 으로 끝나 야 합 니 다.
#user administrator administrators; #사용자 나 그룹 을 설정 합 니 다. 기본 값 은 nobody nobody 입 니 다.
#worker_processes 2; #생 성 가능 한 프로 세 스 수, 기본 값 은 1 입 니 다.
#pid /nginx/pid/nginx.pid; #nginx 프로 세 스 실행 파일 저장 소 지정
error_log log/error.log debug; #로그 경로, 단 계 를 만 듭 니 다.이 설정 은 전역 블록, http 블록, server 블록 을 넣 을 수 있 습 니 다. 단 계 는 debug | info | notice | warn | error | crit | alert | emerg 입 니 다.
events {
accept_mutex on; #네트워크 연결 직렬 화 를 설정 하여 놀 라 움 현상 이 발생 하지 않도록 합 니 다. 기본 값 은 on 입 니 다.
multi accepton; \ # 하나의 프로 세 스 가 여러 개의 네트워크 연결 을 동시에 받 아들 일 지 설정 합 니 다. 기본 값 은 off 입 니 다.
#use epoll; #이벤트 구동 모델, select | poll | kqueue | epoll | resig | / dev / poll | eventport
worker_connections 1024; #최대 연결 수, 기본 값 512
}
http {
include mime.types; #파일 확장자 와 파일 형식 맵
default type application / ocket - stream; \ # 기본 파일 형식, 기본 값 은 text / plain 입 니 다.
#access log off; \ # 서비스 로그 취소
log format myFormat '$remote addr – $remote user [$time local] $request $status $body bytes sent $http referer $http user agent $http x forward for'; \ # 사용자 정의 형식
access log log / access. log my Format; \ # combined 는 로그 형식의 기본 값 입 니 다.
(위 에서 정의 한 로그 형식 my Format 사용)
sendfile on; #sendfile 방식 으로 파일 을 전송 할 수 있 습 니 다. 기본 값 은 off 입 니 다. http 블록, server 블록, location 블록 에서 사용 할 수 있 습 니 다.
sendfile max chunk 100 k; \ # 모든 프로 세 스 가 호출 할 때마다 전송 수량 이 설정 한 값 보다 많 을 수 없습니다. 기본 값 은 0 입 니 다. 즉, 상한 선 을 설정 하지 않 습 니 다.
keepalive timeout 65; \ # 연결 시간 초과, 기본 값 75s, http, server, location 블록 에서 사용 할 수 있 습 니 다.
upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121: 3333 backup; \ # 열 준비
}
error_page 404 https://www.baidu.com오류 페이지
server {
keepalive requests 120; \ # 단일 연결 요청 상한 횟수.
listen 4545; #감청 포트
server_name 127.0.0.1; #감청 주소
location ~*^.+$ { #요청 한 url 필 터 는 정규 일치 합 니 다. ~ 대소 문 자 를 구분 하기 위해 ~ * 대소 문 자 를 구분 하지 않 습 니 다.
#루트 path; \ # 루트 디 렉 터 리
#index vv. txt; \ # 기본 페이지 설정
proxy_pass http://mysvr; \ # my svr 가 정의 하 는 서버 목록 으로 전환 을 요청 합 니 다.
deny 127.0.0.1; \ # 거부 ip
allow 172.18.5.54; \ # 허 용 된 ip
}
}
}
위 는 nginx 의 기본 설정 입 니 다. 주의해 야 할 것 은 다음 과 같은 몇 가지 가 있 습 니 다.
1. 1. $remote addr 와 $http x forward for 는 클 라 이언 트 의 ip 주 소 를 기록 합 니 다 (PS: remote addr 는 실제 사용자 의 ip 이 고 http xforward for 는 이전 프 록 시 에서 전송 한 ip); 2. $remote user: 클 라 이언 트 사용자 이름 을 기록 하 는 데 사 용 됩 니 다. 3. $time local: 방문 시간 과 시간 대 를 기록 하 는 데 사 용 됩 니 다. 4. $request 는 요청 한 url 과 http 프로 토 콜 을 기록 하 는 데 사 용 됩 니 다.방문 한 것; 8. $http user agent: 클 라 이언 트 브 라 우 저의 관련 정 보 를 기록 합 니 다.
2. 놀 라 운 현상: 하나의 네트워크 연결 이 오 면 여러 개의 수면 과정 이 동료 에 의 해 깨 어 나 지만 하나의 프로 세 스 만 링크 를 얻 을 수 있 습 니 다. 그러면 시스템 성능 에 영향 을 줄 수 있 습 니 다.
3. 모든 명령 은 반드시 분점 이 있어 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.