찾다
운영 및 유지보수엔진스Node.js 사이트에서 Nginx를 역방향 프록시로 사용할 때 GZip 압축을 구성하는 방법

Node.js 개발 사이트, nginx를 사용하여 역방향 프록시를 구현하는 경우

그러면 서버 측에서 쉽게 gzip 압축을 구현하여 사이트 탐색을 더 원활하게 만들 수 있습니다.

전제 조건: node.js + nginx 역방향 프록시.

node.js 수행해야 할 작업:

express 4.0 이하:

app.use(express.compress()); //主要是这句
app.use(express.json()); 
app.use(express.urlencoded()); 
app.use(express.bodyparser()); 
app.use(express.methodoverride()); 
app.use(express.cookieparser());

모든 요청을 압축하기 위해 압축이 맨 위에 배치됩니다.

express 4.0 이상(4.0 포함)

var compress = require('compression');
app.use(compress());

4.0 이상 미들웨어는 독립적으로 제거됩니다.

그러므로 먼저 rquire('압축')이 필요합니다

express 3.5와 express 4.0의 주요 차이점을 보려면 여기를 클릭하세요

node.js가 해야 할 작업은 그만큼 간단합니다.

nginx를 완료해야 합니다. 작업:

nginx 구성 파일을 열고 구성을 수정한 다음 gzip 스위치를 켜세요.

nano /usr/local/nginx/conf/nginx.conf

자체 서버의 nginx가 /usr/local/ 디렉터리에 설치되지 않을 수 있으므로 다음을 찾으세요. 자신의 설치 디렉터리에 있는 nginx.conf 구성 파일

http 구성 노드에 다음 구성을 추가하세요.

gzip on;
    gzip_min_length 1k;
    gzip_buffers   4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types    text/plain application/x-javascript text/css application/xml;
    gzip_vary on;

http (
    //放上面配置节点  
)

각 구성 항목의 의미는 무엇인가요?

1) gzip

구문: ​​gzip on/off

기본값 : off

범위: http, 서버, 위치

설명: gzip 모듈을 활성화 또는 비활성화합니다. 여기서 on을 사용하면 시작을 의미합니다.

2) gzip_min_length

구문: gzip_min_length 길이

기본값: gzip_min_length 0

범위: http , server, location

설명: 권한 설정 압축된 페이지의 최소 바이트 수는 헤더의 content-length에서 가져옵니다. 기본값은 0이며, 크기에 관계없이 페이지를 압축합니다. 바이트 수는 1k보다 크게 설정하는 것이 좋습니다. 1k보다 작으면 점점 더 압축될 수 있습니다. |

3) gzip_buffers

구문: ​​gzip_buffers 수 크기

기본값: gzip_buffers 4 4k/8k

범위: http, 서버, 위치

설명: gzip을 저장하기 위해 여러 단위의 캐시를 얻도록 시스템을 설정합니다. 결과 데이터 스트림. 4 16k는 16k 단위로 메모리를 적용하고 16k 단위로 원래 데이터 크기의 4배를 적용한다는 의미입니다.

4) gzip_comp_level

구문: ​​gzip_comp_level 1..9

기본값: gzip_comp_level 1

범위: http, 서버, 위치

설명: gzip 압축 비율, 1은 최소 압축 비율이며 가장 빠른 처리 속도입니다. 9 압축 가장 크지만 처리 속도가 가장 느립니다(전송은 빠르지만 더 많은 CPU를 소비합니다). 여기서는 5로 설정되어 있습니다.

5) gzip_types

구문: ​​gzip_types mime-type [mime-type ...]

기본값: gzip_types text/html

범위: http, 서버, 위치

설명: 압축을 위한 MIME 유형 일치, ( 지정 여부에 관계없이 "text/html" 유형은 항상 압축됩니다. 이는 application/x-javascript text/css application/xml로 설정됩니다.

압축해야 하는 상황에 따라 일반적으로 사용되는 정적 유형이 있습니다.

text/html
text/plain
text/css
application/x-javascript
text/javascript
application/xml

ok, 기본 서버는 여기에서 구성되었으며 nginx만 다시 로드하면 됩니다.

지금 테스트해 보겠습니다. 서버에서 gzip이 켜져 있는지 테스트하기 위해 컬을 사용하는 방법(테스트 조건은 기본 gzip_types입니다. 즉, text.html만 압축되고 다른 유형은 압축되지 않습니다):

gzip이 켜져 있는지 확인하세요. 클라이언트는 "accept-encoding: gzip, deflate" 헤더 정보에 참여해야 합니다.

$ curl -i -h "accept-encoding: gzip, deflate" "http://localhost/tag.php"
http/1.1 200 ok
server: nginx
date: thu, 08 mar 2012 07:23:46 gmt
content-type: text/html
connection: close
content-encoding: gzip
$ curl -i -h "accept-encoding: gzip, deflate" "http://localhost/style.css"
http/1.1 200 ok
server: nginx
date: thu, 08 mar 2012 07:23:54 gmt
content-type: text/css
connection: close
last-modified: tue, 27 dec 2011 10:00:51 gmt
etag: "bc612352322d435769c4bdc03ddb2572"
content-length: 22834

보실 수 있습니다. 두 번째 예는 압축되지 않았습니다.

위 내용은 Node.js 사이트에서 Nginx를 역방향 프록시로 사용할 때 GZip 압축을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Nginx vs. Apache : 웹 호스팅 및 트래픽 관리Nginx vs. Apache : 웹 호스팅 및 트래픽 관리Apr 12, 2025 am 12:04 AM

NGINX는 동시성이 높은 자원 소비 시나리오에 적합하지만 APACHE는 복잡한 구성 및 기능 확장이 필요한 시나리오에 적합합니다. 1.NGINX는 고성능과의 많은 동시 연결을 처리하는 것으로 알려져 있습니다. 2. Apache는 안정성과 풍부한 모듈 지원으로 유명합니다. 선택할 때는 특정 요구에 따라 결정해야합니다.

NGINX : 최신 웹 애플리케이션을위한 다목적 도구NGINX : 최신 웹 애플리케이션을위한 다목적 도구Apr 11, 2025 am 12:03 AM

nginxissentialderformodernwebapplicationsduetoitsrolessareareverseproxy, loadbalancer 및 Webserver, HighperformanceAndscalability를 제공합니다

Nginx SSL/TLS 구성 : HTTPS로 웹 사이트 보안Nginx SSL/TLS 구성 : HTTPS로 웹 사이트 보안Apr 10, 2025 am 09:38 AM

Nginx를 통해 웹 사이트 보안을 보장하려면 다음 단계가 필요합니다. 1. 기본 구성을 만들고 SSL 인증서 및 개인 키를 지정하십시오. 2. 구성 최적화, HTTP/2 및 OCSPStapling 활성화; 3. 인증서 경로 및 암호화 제품군 문제와 같은 공통 오류 디버그; 4. Let 'sencrypt 및 세션 멀티플렉싱 사용과 같은 응용 프로그램 성능 최적화 제안.

Nginx 인터뷰 질문 : ACE 귀하의 DevOps/System Admin 인터뷰Nginx 인터뷰 질문 : ACE 귀하의 DevOps/System Admin 인터뷰Apr 09, 2025 am 12:14 AM

NGINX는 고성능 HTTP 및 리버스 프록시 서버로 높은 동시 연결을 처리하는 데 능숙합니다. 1) 기본 구성 : 포트를 듣고 정적 파일 서비스를 제공합니다. 2) 고급 구성 : 리버스 프록시 및로드 밸런싱을 구현하십시오. 3) 디버깅 기술 : 오류 로그를 확인하고 구성 파일을 테스트하십시오. 4) 성능 최적화 : GZIP 압축을 활성화하고 캐시 정책을 조정합니다.

Nginx 캐싱 기술 : 웹 사이트 성능 향상Nginx 캐싱 기술 : 웹 사이트 성능 향상Apr 08, 2025 am 12:18 AM

Nginx 캐시는 다음 단계를 통해 웹 사이트 성능을 크게 향상시킬 수 있습니다. 1) 캐시 영역을 정의하고 캐시 경로를 설정하십시오. 2) 캐시 유효성 기간 구성; 3) 다른 컨텐츠에 따라 다른 캐시 정책을 설정합니다. 4) 캐시 저장 및로드 밸런싱을 최적화합니다. 5) 캐시 효과를 모니터링하고 디버그합니다. 이러한 방법을 통해 NGINX 캐시는 백엔드 서버 압력을 줄이고 응답 속도 및 사용자 경험을 향상시킬 수 있습니다.

Docker와 Nginx : 컨테이너화 된 응용 프로그램을 배포하고 스케일링합니다Docker와 Nginx : 컨테이너화 된 응용 프로그램을 배포하고 스케일링합니다Apr 07, 2025 am 12:08 AM

dockercompose를 사용하면 Nginx의 배포 및 관리를 단순화 할 수 있으며 Dockerswarm 또는 Kubernetes를 통한 스케일링은 일반적인 관행입니다. 1) DockerCompose를 사용하여 Nginx 컨테이너를 정의하고 실행하십시오. 2) Dockerswarm 또는 Kubernetes를 통한 클러스터 관리 및 자동 스케일링 구현.

고급 NGINX 구성 : 서버 블록 마스터 링 및 리버스 프록시고급 NGINX 구성 : 서버 블록 마스터 링 및 리버스 프록시Apr 06, 2025 am 12:05 AM

NGINX의 고급 구성은 서버 블록 및 리버스 프록시를 통해 구현 될 수 있습니다. 1. 서버 블록을 사용하면 여러 웹 사이트를 한쪽으로 실행할 수있게되면 각 블록은 독립적으로 구성됩니다. 2. 리버스 프록시는 요청을 백엔드 서버로 전달하여로드 밸런싱 및 캐시 가속도를 실현합니다.

Nginx 성능 튜닝 : 속도 및 낮은 대기 시간을 최적화합니다Nginx 성능 튜닝 : 속도 및 낮은 대기 시간을 최적화합니다Apr 05, 2025 am 12:08 AM

작업자 프로세스 수, 연결 풀 크기, GZIP 압축 및 HTTP/2 프로토콜을 활성화하고 캐시 및로드 밸런싱을 사용하여 NGINX 성능 튜닝을 달성 할 수 있습니다. 1. 작업자 프로세스 수 및 연결 풀 크기 조정 : Worker_ProcessesAuto; 이벤트 {worker_connections1024;}. 2. GZIP 압축 및 HTTP/2 프로토콜 활성화 : http {gzipon; server {listen443sslhttp2;}}. 3. 캐시 최적화 사용 : http {proxy_cache_path/path/to/cachelevels = 1 : 2k

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기