NGINX 최적화 12

1. NGINX 기본 안전 최적화
1. NGINX 소프트웨어 버 전 번호 정보 숨 기기
[root@localhost nginx2]# curl -I 10.3.151.34
HTTP/1.1 502 Bad Gateway
Server: nginx/1.13.4
Date: Tue, 24 Jul 2018 01:22:28 GMT
Content-Type: text/html
Content-Length: 537
Connection: keep-alive
ETag: "5b505df9-219"

2. NGINX 프로필 ngix. conf 의 http 탭 에 "server tokens off" 인 자 를 추가 합 니 다.
http
{
        server_tokens off;
}

2. 서버 성능 에 따라 워 커 프로 세 스 개 수 를 조정 합 니 다.
1. 워 커 프로 세 스 이해
NGINX 서 비 스 는 Master 프로 세 스 와 Worker 프로 세 스 의 구분 이 있 습 니 다. Master 는 관리 프로 세 스 이 고 Worker 프로 세 스 는 기본적으로 1 개 이 며 서버 를 구축 할 때 CPU 의 핵 프로 세 스 에 따라 설정 할 수 있 습 니 다.
2. 서버 CPU 핵 수 보기
[root@localhost nginx2]# grep processor /proc/cpuinfo | wc -l
8
    top  ,   “1”    CPU  

3. 워 커 프로 세 스 수 수정
worker_processes  8;

3. NGINX 사건 처리 모델 최적화
1. nginx 사건 처리 모델 이해
NGINX 의 연결 처리 메커니즘 은 서로 다른 운영 체제 에서 서로 다른 I / O 모델 을 사용 하고, LINUX 에 서 는 NGINX 가 EPOLL 의 I / O 다 중 복합 모델 을 사용 하 며, WINDOWS 에 서 는 ICOP 를 사용한다.
2. 사건 처리 수정
events {
    use epoll;       
    #        ,            ,NGINX          。
}

4. NGINX 단일 프로 세 스 가 허용 하 는 최대 클 라 이언 트 의 동시 연결 수 를 조정 합 니 다.
1. 단일 프로 세 스 최대 병렬 연결 수 이해
worker_connections 도 이벤트 모듈 명령 입 니 다. NGINX 모든 프로 세 스 의 최대 연결 수 를 정의 하 는 데 사 용 됩 니 다. 기본 값 은 1024 이 고 최대 클 라 이언 트 연결 수 는 work 입 니 다.processes 와 workerconnections 결정, 즉 Maxclient=worker_processes*worker_connections。프로 세 스 의 최대 연결 수 는 Liux 시스템 프로 세 스 의 최대 열 린 파일 수 에 제한 을 받 습 니 다. 운영 체제 'ULIMIT - hsn 65535' 를 실행 하거나 해당 파일 을 설정 한 후 workerconnections 설정 이 유효 합 니 다.
2. 단일 프로 세 스 의 최대 병렬 연결 수 설정 수정
events {
worker_connections  10240;
}

4. NGINX Worker 프로 세 스 의 최대 파일 개수 조정
1. 프로 세 스 최대 파일 개수 이해 열기
파일 수 를 최대 로 열 면 시스템 최적화 후의 ulimit - hsn 결과 로 설정 할 수 있 습 니 다.
2. 수정 프로 세 스 최대 파일 개수
worker_processes  8;
events {
        worker_connections  1024;
}
worker_rlimit_nofile 65535;      #         
error_log  logs/error.log;

5. NGINX 고 효율 파일 전송 모드 열기
1. 효율 적 인 문서 전달 이해
sendfile 매개 변 수 는 파일 의 효율 적 인 전송 모드 를 열 고 tcpnopush 와 tcpnodelay 두 명령 은 on 으로 설정 되 어 있 으 며, 네트워크 및 디스크 I / O 차단 을 방문 하여 NGINX 작업 효율 을 향상 시 킬 수 있 습 니 다.sendfile () 은 두 파일 설명자 사이 에 작용 하 는 데이터 복사 함수 로 이 복사 작업 은 커 널 에서 '제로 복사' 라 고 불 린 다.
2. 설정 수정 (http 모듈 에서)
http {
              sendfile   on;
                tcp_nopush on;
                tcp_nodelay on;
}

5. 업로드 파일 크기 의 제한 조정
1. 프로필 수정
http {
client_max_body_size 50m;   #     1m
}

5. Nginx gzip 압축 을 설정 하여 성능 최적화
1. gzip 의 역할 이해
Nginx gzip 압축 모듈 은 파일 내용 을 압축 하 는 기능 을 제공 합 니 다. 사용자 가 요청 한 내용 이 사용자 클 라 이언 트 에 전송 되 기 전에 NGINX 서버 는 구체 적 인 전략 에 따라 압축 을 실시 하여 사이트 수출 의 대역 폭 을 절약 하 는 동시에 데이터 전송 효율 을 가속 화하 여 사용자 의 방문 체험 을 향상 시 킵 니 다.
2. gzip 프로필
http {
gzip on;
    gzip_min_length  1k;          #  1K   
    gzip_buffers     4 16k;        #       
    gzip_http_version 1.1;       #     
    gzip_comp_level 3;            #    ,1-9,    ,    ,      ,   CPU  。
    gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;    
            #       ,        
    gzip_vary on;  #            gzip     , squid
    gzip_disable   "MSIE [1-6]\.";    #IE1-6   
}

6. Nginx expires 캐 시 설정 성능 최적화
1. expires 의 역할 이해
쉽게 말 하면 nginx expires 의 기능 은 사용자 가 방문 한 사이트 내용 에 만 료 시간 을 설정 하 는 것 입 니 다. 사용자 가 처음으로 이 내용 을 방문 할 때 이 내용 을 사용자 브 라 우 저 로 컬 에 저장 합 니 다. 그러면 사용자 가 두 번 째 와 그 후에 이 사 이 트 를 계속 방문 할 때 유 람 기 는 사용자 브 라 우 저 에 캐 시 된 내용 을 불 러 오 면 서버 에 다운로드 하지 않 습 니 다.캐 시 내용 이 만 료 되 거나 지 워 질 때 까지.
2. expires 설정 (보통 location 에 설정 하고 그림 을 캐 시 합 니 다 \ JS \ CSS 등)
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

좋은 웹페이지 즐겨찾기