nginx 소개 및 설정

6262 단어 자바 기반
Nginx 고가 용 실현
Nginx  
Ningx    
Windows     Nginx
Windows         
Windows         
Nginx            
Nginx     
Nginx  DDOS
Linux     Nginx
Linux         
Linux   nginx+keepalived     
Linux   Session      
       

1. nginx 입문 1. 1. nginx 는 무엇 입 니까?nginx 는 고성능 http 서버 / 역방향 프 록 시 및 이메일 (IMAP / POP 3) 프 록 시 서버 입 니 다.러시아의 프로그램 디자이너 Igor Sysoev 가 개발 한 공식 테스트 nginx 는 5 만 개의 병렬 링크 를 지탱 할 수 있 고 cpu, 메모리 등 자원 소모 가 매우 낮 으 며 운행 이 매우 안정 적 이기 때문에 현재 많은 유명 회사 들 이 nginx 를 사용 하고 있다.
1.2 nginx 응용 장면 1, http 서버.Nginx 는 http 서 비 스 를 독립 적 으로 제공 할 수 있 는 http 서비스 입 니 다.웹 페이지 정적 서버 를 만 들 수 있 습 니 다.2. 가상 호스트.한 서버 에서 여러 사 이 트 를 가상 으로 만 들 수 있다.예 를 들 어 개인 사이트 에서 사용 하 는 가상 호스트.3. 역방향 대리, 부하 균형.사이트 의 방 문 량 이 어느 정도 에 이 르 렀 을 때 한 대의 서버 가 사용자 의 요 구 를 만족 시 키 지 못 할 때 여러 대의 서버 클 러 스 터 로 nginx 를 사용 하여 역방향 프 록 시 를 할 수 있어 야 합 니 다.또한 여러 대의 서버 는 평균 적 으로 부 하 를 분담 할 수 있 으 며, 한 서버 의 부하 가 높 아 지연 되 지 않 아 한 서버 가 방치 되 어 있 는 경우 도 없다.
1.3 Windows 환경 에서 Nginx 압축 풀기 설치: nginx - windows 더 블 클릭: nginx. exe
nginx 환영 인터페이스 설명 을 볼 수 있 습 니 다. nginx 설치 성공 시연 다음 nginx 정적 서버 1.3.1 windows 상용 명령 nginx. exe - s stop – 정지
1.4 nginx 의 장단 점 은 메모리 가 작 아서 높 은 병행 연결 을 실현 하고 처리 응답 이 빠르다.http 서버, 가상 호스트, 역방향 에이전트, 부하 균형 을 실현 할 수 있 습 니 다.nginx 설정 은 간단 합 니 다. 실제 서버 IP 주 소 를 노출 하지 않 아 도 됩 니 다.
1.4 nginx. conf 는 1.4.1 nginx. conf 파일 의 구조 nginx 설정 을 특정한 식별 자 (명령 어) 에서 여러 개의 서로 다른 모듈 로 나 누 었 습 니 다.명령 부 호 는 간단 한 명령 과 블록 명령 으로 나 뉜 다. 간단 한 명령 형식: [name parameters;]  블록 명령 형식: 간단 한 명령 형식 과 같은 구조 가 있 지만 끝 식별 자 는 분점 이 아니 라 대괄호 {} 입 니 다. 블록 명령 내부 에는 simple directives 와 block directives 가 포함 되 어 있 습 니 다. 블록 명령 을 상하 문 (예 를 들 어 events, http, server, location) conf 파일 이 라 고 할 수 있 습 니 다.블록 명령 에 속 하지 않 는 모든 간단 한 명령 은 main 컨 텍스트 에 속 합 니 다. http 블록 명령 은 main 컨 텍스트 에 속 하고 server 블록 명령 http 컨 텍스트 에 속 합 니 다.
1.4.2 정적 접근 웹 서버 를 설정 하 는 중요 한 부분 은 정적 페이지 의 접근 을 제공 하 는 것 입 니 다. 예 를 들 어 images, html page 등 입 니 다.nginx 는 서로 다른 설정 을 통 해 request 요청 에 따라 로 컬 디 렉 터 리 에서 서로 다른 파일 을 제공 하여 클 라 이언 트 에 게 되 돌려 줄 수 있 습 니 다.설치 디 렉 터 리 에 있 는 nginx. conf 파일 을 엽 니 다. 기본 설정 파일 은 http 명령 블록 에 빈 server 블록 을 만 들 었 습 니 다. nginx - 1.8.0 에 있 는 http 블록 에 기본 server 블록 을 만 들 었 습 니 다.내용 은 다음 과 같다.
server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        } 
}  

1.4 nginx 는 역방향 대 리 를 실현 합 니 다. 1.4.1 역방향 대 리 는 무엇 입 니까?역방향 프 록 시 (Reverse Proxy) 방식 은 프 록 시 서버 로 인터넷 의 연결 요청 을 받 은 다음 내부 네트워크 에 있 는 서버 에 전송 요청 을 하고 서버 에서 얻 은 결 과 를 인터넷 에서 연결 을 요청 하 는 클 라 이언 트 에 게 되 돌려 주 는 것 을 말한다. 이때 프 록 시 서 비 스 는 대외 적 으로 역방향 프 록 시 서버 로 나타난다.
Tomcat 127.0.0.1: 8080 을 시작 합 니 다. nginx 역방향 에이전트 8080. itmayiedu. com 을 사용 하여 127.0.0.1: 8080 으로 직접 이동 합 니 다.
1.4.1Host 파일 127.0.0.1 8080. itmayiedu. com 127.0.0.1 b8081. itmayiedu. com 1.4.2 ngix. conf 설정 추가
설정 정보:
   server {
        listen       80;
        server_name  8080.itmayiedu.com;
        location / {
		    proxy_pass  http://127.0.0.1:8080;
			index  index.html index.htm;
        }
    }
    server {
       listen       80;
       server_name  b8081.itmayiedu.com;
       location / {
	      proxy_pass  http://127.0.0.1:8081;
		  index  index.html index.htm;
       }
   }
```

1.5 nginx 는 부하 균형 1.5.1 부하 균형 부하 균형 이 기 존의 네트워크 구조 에 구축 되 는 것 이 무엇 인지 실현 한다. 이 는 저렴 하고 효과 적 이 며 투명 한 방법 으로 네트워크 설비 와 서버 의 대역 폭 을 확대 하고 스루풋 을 증가 하 며 네트워크 데이터 처리 능력 을 강화 하 며 네트워크 의 유연성 과 가용성 을 향상 시킨다.부하 균형, 영문 이름 은 Load Balance 로 여러 작업 단원 에 나 누 어 실행 하 는 것 을 의미한다. 예 를 들 어 웹 서버, FTP 서버, 기업 관건 응용 서버 와 기타 관건 적 인 임무 서버 등 이다.
1.5.3 부하 균형 정책 1. 폴 링 (기본 값) 모든 요청 은 시간 순서에 따라 서로 다른 백 엔 드 서버 에 배정 되 고 백 엔 드 서버 다운 이 떨 어 지면 자동 으로 제거 할 수 있 습 니 다.upstream backserver { server 192.168.0.14; server 192.168.0.15; }
2. 가중치 지정 폴 링 확률, weight 와 방문 비율 이 정비례 하여 백 엔 드 서버 의 성능 이 고 르 지 않 은 경우 에 사용 합 니 다.upstream backserver { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; }
3 、 IP 귀속 iphash 모든 요청 은 ip 에 접근 하 는 hash 결과 에 따라 분 배 됩 니 다. 모든 방문객 이 백 엔 드 서버 에 고정 적 으로 접근 하면 session 문 제 를 해결 할 수 있 습 니 다.upstream backserver { ip_hash; server 192.168.0.14:88; server 192.168.0.15:80; }
1.5.4 설정 코드
upstream backserver { 
     server 127.0.0.1:8080; 
     server 127.0.0.1:8081; 
    } 
    server {
        listen       80;
        server_name  www.itmayiedu.com;
        location / {
		    proxy_pass  http://backserver;
			index  index.html index.htm;
        }
    }

1.5.4 지연 훈련 배치 규칙
 server {
     listen       80;
     server_name  www.itmayiedu.com;
     location / {
 	    proxy_pass  http://backserver;
 		index  index.html index.htm;
 		proxy_connect_timeout 1;
         proxy_send_timeout 1;
         proxy_read_timeout 1;
     }
 }

1.6 nginx 사이트 크로스 도 메 인 문제 해결 설정:
server {
        listen       80;
        server_name  www.itmayiedu.com;
        location /A {
		    proxy_pass  http://a.a.com:81/A;
			index  index.html index.htm;
        }
		location /B {
		    proxy_pass  http://b.b.com:81/B;
			index  index.html index.htm;
        }
    }


1.7 nginx 도 난 방지 체인 설정
	location ~ .*\.(jpg|jpeg|JPG|png|gif|icon)$ {
        valid_referers blocked http://www.itmayiedu.com www.itmayiedu.com;
        if ($invalid_referer) {
            return 403;
        }
	}



1.7 nginx 설정 DDOS 1.7.1 제한 요청 속도 설정 Nginx, Nginx Plus 의 연결 요청 은 실제 사용자 가 요청 한 합 리 적 인 범위 내 에 있 습 니 다.예 를 들 어 정상 적 인 사용자 가 2 초 에 한 번 씩 로그 인 페이지 를 요청 할 수 있다 고 생각한다 면 Nginx 는 2 초 에 한 클 라 이언 트 IP 의 요청 을 받 을 수 있 습 니 다 (약 분당 30 개의 요청 과 같 습 니 다).
limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m;
	server {
	...
	location /login.html {
	limit_req zone=one;
	...
	}
}
limit_req_zone 명령 은 원 이라는 공유 메모리 구역 을 설정 하여 요청 상태의 특정 키 값 을 저장 합 니 다. 위의 예 에서 클 라 이언 트 IP ($biary remote addr) 입 니 다.location 블록 중의 limit_req 는 one 공유 메모리 구역 을 참조 하여 / log. html 에 접근 하 는 것 을 제한 하 는 목적 을 실현 합 니 다.
1.7.1 요청 속도 제한
Nginx, Nginx Plus 의 연결 수 를 실제 사용자 가 요청 한 합 리 적 인 범위 내 에 설정 합 니 다.예 를 들 어 모든 클 라 이언 트 IP 연결 / store 를 10 개 이상 설정 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기