Nginx tự động giảm thiểu đầu ra html


12

có ai biết một cách để có được nginx (hoặc bất kỳ phương pháp nào khác) để giảm thiểu đầu ra html một cách nhanh chóng không? Nó có vẻ đơn giản với tôi và có thể tắt một vài kb và giúp tăng tốc trang web.


3
Tôi không chắc chắn về một tiện ích mở rộng có khả năng này, nhưng, nó có đáng không? Sẽ có một tác động CPU trên mỗi yêu cầu, điều đó có nghĩa là trang web của bạn sẽ cần nhiều CPU hơn khi tải của bạn tăng lên. Tôi giả sử bạn đã sử dụng tiện ích mở rộng gzip để nén văn bản trước khi gửi, vì vậy, tất cả các khoảng trắng sẽ bị xóa như một phần của quy trình đó. Bạn cũng có thể pre-gz các tệp của mình, điều này sẽ tiết kiệm thời gian CPU cho mỗi yêu cầu.
Andrew Taylor

@AndrewTaylor, vì vậy đó là lý do tại sao bạn nên lưu trữ bộ nhớ cache tốt hơn sau đó.
poige

Câu trả lời:


2

Google Pagespeed cho Nginx thực hiện thu nhỏ và một loạt các thứ khác. Tuy nhiên, khi tôi điểm chuẩn, nó không tạo ra đủ sự khác biệt, vì trang web của tôi đã được tối ưu hóa tốt. Đối với các trang web chưa được tối ưu hóa, nó có thể sẽ tạo ra sự khác biệt đáng kể.

Có một hướng dẫn về cách để Nginx / Pagespeed hoạt động ở đây . Bạn phải xây dựng nó từ nguồn. Tôi có xu hướng giữ cho trang web được liên kết cập nhật, nếu tôi tình cờ chạm vào khu vực đó, vì vậy nó có thể được cập nhật hơn câu trả lời dưới đây.

cd /home/ec2-user
mkdir nginx-build
cd nginx-build
service nginx stop
yum groupinstall "Development Tools"
yum install pcre-devel zlib-devel openssl-devel
wget http://nginx.org/download/nginx-1.9.11.tar.gz
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
wget https://github.com/openresty/headers-more-nginx-module/archive/v0.29.tar.gz
tar -xzf nginx-1.9.11.tar.gz
tar -xzf ngx_cache_purge-2.3.tar.gz
tar -xzf v0.29.tar.gz
tar -xzf 1.9.32.10.tar.gz    # Google Pagespeed, optional
ngx_version=1.9.32.10
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${ngx_version}-beta.zip   # Google Pagespeed, optional
cd ngx_pagespeed-release-1.9.32.10-beta   # Google Pagespeed, optional
wget https://dl.google.com/dl/page-speed/psol/${ngx_version}.tar.gz   # Google Pagespeed, optional
cd ../nginx-1.9.9
# Note that I have no idea what the next line does but it was in the official guide
PS_NGX_EXTRA_FLAGS="--with-cc=/opt/rh/devtoolset-2/root/usr/bin/gcc"
# Safe option, slower, lots of modules included
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_v2_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --add-module=/tmp/ngx_cache_purge-2.3 --add-module=/tmp/headers-more-nginx-module-0.29 --with-http_realip_module --add-modeule=../ngx_pagespeed-release-1.9.32.10-beta
make && make install
make clean  (NB: optional)
service nginx start

12

Đề nghị của tôi: quên minify và sử dụng mô-đun gzip . Nó sẽ làm việc tốt hơn và hoàn thành cùng một mục tiêu. Nhưng, như tất nhiên, bạn có thể làm điều đó. Có một mô-đun bên thứ 3 có tên là dải , đặc biệt là cho chủ đề này.


Cấu hình gzip ví dụ:

# Context:  http, server, location

    gzip            on;
    gzip_min_length 1000;
    gzip_proxied    expired no-cache no-store private auth;
    gzip_types      text/plain application/xml;

2
Tìm tốt Tuy nhiên, trông không sẵn sàng sản xuất, vì vậy tôi thứ hai đề nghị bạn sử dụng gzip thay vào đó - tiết kiệm hơn nhiều so với việc giảm bớt HTML.
pjmorse

1
Đừng quên để thêm một số gzip_typesnhư text/html.
Gerald

Lưu ý rằng nén gzip các trang HTML theo TLS / SSL có thể dễ bị BREACH .
Naglis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.