> 백엔드 개발 > PHP 튜토리얼 > Nginx는 정적 리소스 웹 서비스 역할을 하며 정적 리소스 압축을 수행합니다.

Nginx는 정적 리소스 웹 서비스 역할을 하며 정적 리소스 압축을 수행합니다.

不言
풀어 주다: 2023-04-03 16:16:01
원래의
2939명이 탐색했습니다.

이 글은 정적 리소스 웹 서비스이자 정적 리소스 압축인 Nginx를 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 정적 리소스 웹 서비스

Nginx는 정적 리소스 웹 서비스 역할을 하며 정적 리소스 압축을 수행합니다.

1. 정적 리소스 유형

#🎜🎜 #사진JEPG, GIF, PNGVideoFLV, MPEGFileTXT 및 기타 다운로드 파일

2. 정적 리소스 서비스 시나리오-CDN

Nginx는 정적 리소스 웹 서비스 역할을 하며 정적 리소스 압축을 수행합니다.

#🎜 🎜#2. 정적 리소스 코어 구성

1. 파일 읽기 sendfile

효율적인 파일 전송을 위한 모드입니다.

Sendfile을 켜면 효율적인 파일 전송을 위한 모드가 시작됩니다. sendfile을 사용하면 Nginx가 파일을 전송할 때 디스크와 TCP 소켓 간에 직접 데이터를 전송할 수 있습니다. 이 매개변수가 활성화되지 않으면 먼저 사용자 공간(Nginx 프로세스 공간)의 버퍼를 적용하고 읽기 기능을 사용하여 디스크에서 캐시로 데이터를 읽은 다음 캐시에서 사용자 공간의 버퍼를 읽습니다. 그런 다음 쓰기 기능을 사용하여 사용자 공간에서 데이터를 읽습니다. 공간 버퍼는 커널 버퍼에 기록되고 마지막으로 tcp 소켓에 기록됩니다. 이 매개변수를 켜면 데이터가 사용자 버퍼를 통과할 필요가 없습니다.

Nginx는 정적 리소스 웹 서비스 역할을 하며 정적 리소스 압축을 수행합니다.

Nginx는 정적 리소스 웹 서비스 역할을 하며 정적 리소스 압축을 수행합니다.# 🎜 🎜#Grammar

Syntax:        sendfile on | off;
Default:    sendfile off;
Context:    http, server, location, if in location
로그인 후 복사

2.tcp_nopush

sendfile이 켜져 있으면 네트워크 데이터 패킷의 전송 효율성이 향상됩니다.

tcp_nopush 명령은 소켓 연결 시 Linux 시스템에서 TCP_CORK를 활성화합니다. 이 옵션은 TCP 스택에 패킷을 추가하고 패킷이 가득 찼을 때 또는 애플리케이션이 TCP_CORK를 명시적으로 제거하여 패킷을 보내도록 지시할 때 패킷을 보내도록 지시합니다. 이를 통해 최적의 데이터 패킷 양을 전송할 수 있으므로 네트워크 패킷 전송의 효율성이 높아집니다.

즉, tcp_nopush=on일 경우 데이터 패킷이 즉시 전송되지 않는다는 의미입니다. 데이터 패킷이 가장 클 경우에는 즉시 전송됩니다. 이는 네트워크 정체를 해결하는 데 도움이 됩니다. 약간의 지연이 있지만. #🎜🎜 ##### 🎜🎜#grammar
🎜🎜#r
🎜🎜#3. TCP_NODELAY#🎜🎜 ## 🎜🎜## 네트워크 데이터 패킷 전송의 실시간 성능을 향상시킵니다. .

tcp_nodelay 옵션은 tcp_nopush와 정확히 반대되는 옵션입니다. 데이터 패킷은 대기 없이 실시간으로 사용자에게 전송됩니다.

Grammar

Syntax:        tcp_nopush on | off;
Default:    tcp_nopush off;
Context:    http, server, location
로그인 후 복사
4. 압축


압축을 켜세요. 네트워크 대역폭 자원을 절약하면서 프로세스 자원 응답 속도를 높입니다.

ngx_http_gzip_module

# 🎜🎜#문법

Nginx는 정적 리소스 웹 서비스 역할을 하며 정적 리소스 압축을 수행합니다.압축 켜기 및 끄기

Syntax:        tcp_nodelay on | off;
Default:    tcp_nodelay off;
Context:    server, location
로그인 후 복사
압축 수준 구성(압축 수준이 높을수록 더 많은 서버 리소스가 소비됩니다)

Syntax:        gzip on | off;
Default:    gzip off;
Context:    http, server, location, if in location
로그인 후 복사
#🎜 🎜#gzip 프로토콜 버전 구성
Syntax:    gzip_comp_level level;
Default:    gzip_comp_level 1;
Context:    http, server, location
로그인 후 복사
압축 확장 모듈

gzip 기능 미리 읽기 ngx_http_gzip_static_module

Syntax:    gzip_http_version 1.0 | 1.1;
Default:    gzip_http_version 1.1;
Context:    http, server, location
로그인 후 복사

The 응용 프로그램은 gunzip 압축 방법을 지원합니다 ngx_ http_gunzip_module

Syntax:    gzip_static on | off | always;
Default:    gzip_static off;
Context:    http, server, location
로그인 후 복사

3 정적 리소스 압축 예시

1. vim /etc/nginx /conf.d/static.conf

Syntax:    gunzip on | off;
Default:    gunzip off;
Context:    http, server, location

Syntax:    gunzip_buffers number size;
Default:    gunzip_buffers 32 4k|16 8k;
Context:    http, server, location
로그인 후 복사

2. nginx -s reload nginx 구성 파일 다시 로드

# 🎜🎜#3. /vagrant/doc/a.txt 파일을 생성하고 파일 크기를 확인해보세요

server {
    #开启sendfile,提高网络包的传输效率
    sendfile on;

    #配置txt|xml资源的路径
    location ~ .*\.(txt|xml)$ {
        #开启压缩
        gzip on;
        gzip_http_version 1.1;
        gzip_comp_level 1;
        gzip_types text/plain application/xml;
        root /vagrant/doc;
    }
}
로그인 후 복사
a.txt 파일 크기를 확인할 수 있습니다. 558K

4. 컬을 통해 192.168.33.88/a.txt에 접속하여 http 응답 헤더 정보를 확인합니다

[root/etc/nginx]# curl http://www.sina.com.cn/ > /vagrant/doc/a.txt
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  557k  100  557k    0     0   488k      0  0:00:01  0:00:01 --:--:--  488k

[root/etc/nginx]# ll /vagrant/doc/a.txt
-rwxrwxrwx 1 vagrant vagrant 558K 7月  11 10:57 /vagrant/doc/a.txt*
로그인 후 복사
볼 수 있습니다 서버가 gzip 압축을 사용하고 있다는 응답 헤더 정보#🎜 🎜#5. 브라우저를 통해 192.168.33.88/a.txt에 접속하여 개발자 도구를 사용하여 요청한 파일의 크기를 확인합니다# 🎜🎜#

# 🎜🎜#

gzip 압축 후 요청한 파일이 558K에서 148K로 압축된 것을 볼 수 있으며, 그리고 압축률이 매우 높습니다.

6 또한 nginx의 access.log 로그를 통해서도 전송된 파일의 크기를 확인할 수 있습니다

[root/etc/nginx]# curl -I 192.168.33.88/a.txt -H Accept-Encoding:gzip,defalte
HTTP/1.1 200 OK
Server: nginx/1.14.0
Date: Wed, 11 Jul 2018 11:01:43 GMT
Content-Type: text/plain
Last-Modified: Wed, 11 Jul 2018 10:57:22 GMT
Connection: keep-alive
ETag: W/"5b45e292-8b47f"
Content-Encoding: gzip
로그인 후 복사
볼 수 있습니다. 전송된 파일의 크기는 151549, 단위는 B, KB로 환산하면 약 148KB입니다.

관련 권장 사항:

nginx 시작 오류 nginx 역방향 프록시 nginx nginx 무거운이란 무엇입니까Nginx는 정적 리소스 웹 서비스 역할을 하며 정적 리소스 압축을 수행합니다.#🎜🎜 #

Nginx 설치 lua-nginx 모듈 모듈

nginx 스크립트 시작, 중지, 다시 로드..., nginx-start_PHP 튜토리얼 만들기 리눅스

Type 파일 형식
브라우저 측 렌더링 HTML, CSS, JS

위 내용은 Nginx는 정적 리소스 웹 서비스 역할을 하며 정적 리소스 압축을 수행합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿