Tiếp tục series CWP (Centos Web Panel) mình sẽ hướng dẫn bạn kích hoạt và cài đặt module ngx_pagespeed một cách dễ dàng.
ngx_pagespeed tăng tốc trang website của bạn và giảm thời gian tải trang bằng cách tự động áp dụng các thực tiễn tốt nhất và hiệu suất web cho các trang và tải nguyên liên quan (CSS, JS, image) mà không cần sửa đổi nội dung.
- Image optimization: stripping meta-data, dynamic resizing, recompression
- CSS & JavaScript minification, concatenation, inlining, and outlining
- Small resource inlining
- Deferring image and JavaScript loading
- HTML rewriting
- Cache lifetime extension
Thực hiện các bước sau để tải và bật module.
- Google Pagespeed version : 1.13.35.2-0
cd /usr/lib64/nginx mkdir modules #skip if folder exists cd modules rm -rf ngx_pagespeed* wget --no-cache https://linuxcanban.com/tools/ngx_pagespeed.zip unzip ngx_pagespeed.zip rm -rf ngx_pagespeed.zip
Hoặc
cd /etc/nginx/modules rm -rf ngx_http_brotli* wget --no-cache https://linuxcanban.com/tools/ngx_pagespeed.zip unzip ngx_pagespeed.zip rm -rf ngx_pagespeed.zip
Tạo cấu hình pagespeed trên Nginx
mkdir -p /var/ngx_pagespeed_cache chown -R nobody:root /var/ngx_pagespeed_cache
- Bây giờ bạn thêm cấu hình module nginx vào nginx.conf trong thư mục /etc/nginx
vi /etc/nginx/nginx.conf
- Thêm dòng sau vào
load_module "modules/ngx_pagespeed.so"; user nobody; worker_processes auto; #worker_rlimit_nofile 65535; error_log /var/log/nginx/error.log crit; pid /var/run/nginx.pid; events { worker_connections 1024; use epoll; multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; client_header_timeout 3m; client_body_timeout 3m; client_max_body_size 256m; client_header_buffer_size 4k; client_body_buffer_size 256k; large_client_header_buffers 4 32k; send_timeout 3m; keepalive_timeout 60 60; reset_timedout_connection on; server_names_hash_max_size 1024;
Sau đó bạn thêm cấu hình pagespeed nginx vào vhosts của domain trong /etc/nginx/conf.d/vhosts
cd /etc/nginx/conf.d/vhosts
- Tại đây sẽ list ra các file vhosts bạn chọn file của domain đó và vào cấu hình nhé.
Thêm đoạn này vào file vhosts
#Pagespeed config pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; } location ~ "^/ngx_pagespeed_static/" { } location ~ "^/ngx_pagespeed_beacon" { }
Mẫu ví dụ
server { listen 103.221.220.143:80; server_name new.linuxcanban.com www.new.linuxcanban.com; access_log /usr/local/apache/domlogs/new.linuxcanban.com.bytes bytes; access_log /usr/local/apache/domlogs/new.linuxcanban.com.log combined; error_log /usr/local/apache/domlogs/new.linuxcanban.com.error.log error; #Pagespeed config pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; } location ~ "^/ngx_pagespeed_static/" { } location ~ "^/ngx_pagespeed_beacon" { } location / { location ~.*\.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|html|htm|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|woff|ttf|svg|eot|sh)$ { root /home/newlinu/public_html/; expires max; try_files $uri @backend; } error_page 405 = @backend; error_page 500 = @custom; add_header X-Cache "HIT from Backend"; proxy_pass http://103.221.220.143:8181; include proxy.inc; }
Sau đó khởi động lại dịch vụ Nginx
- Trước khi khởi động bạn hãy kiểm tra xem cấu hình nginx có đúng không
nginx -t
Output nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
- Nếu thành công bạn khởi động lại dịch vụ Nginx
systemctl restart nginx
- Sau khi đã hoàn tất bạn tiến hành kiểm tra tại tools check online: https://ismodpagespeedworking.com/
Hoặc check qua curl
curl -I -p https://new.linuxcanban.com/
Tìm header X-Page-Speed
[root@today]# curl -I -p https://new.linuxcanban.com/ HTTP/1.1 200 OK Server: nginx/1.16.1 Content-Type: text/html Connection: keep-alive Keep-Alive: timeout=60 Vary: Accept-Encoding ETag: "13cd-5926bf0e6bbf0" X-Cache: HIT from Backend Date: Wed, 06 Nov 2019 20:30:21 GMT X-Page-Speed: 1.13.35.2-0 Cache-Control: max-age=0, no-cache