Thiết lập Nginx FastCGI Cache trên NGINX giảm thời gian phản hồi máy chủ cho website WordPress của bạn. Show I. Tổng quanNginx FastCGI Cache là gì?Trước khi đi vào thực hiện cài đặt hãy cùng mình tìm hiểu qua về Nginx FastCGI Cache nhé. Nếu bạn đang sử dụng LEMP thì chắc bạn sẽ biết bằng Nginx xử lý các file tĩnh rất tốt, và Nginx sẽ không xử lý được các yêu cầu mã PHP, do đó nginx được định cấu hình để chuyển các yêu cầu PHP đến PHP-FPM. Và mình sẽ mô tả cách hoạt động, mô hình của LEMP để bạn nắm nhé.
Khi lựa chọn máy chủ webserver để xây dựng website mình luôn ưu tiên Nginx, vì Nginx nó rất nhanh khi cung cấp các trang tĩnh HTML. Và thay vì chuyển các yêu cầu trang động PHP đến PHP-FPM để xử lý tạo ra trang HTML mọi lúc, thì khi đó Nginx có thể lưu vào bộ nhớ cache trang HTML đã tạo để lần sau nó có thể gửi các trang đã lưu trong bộ nhớ cache tới trình duyệt web, loại bỏ các yêu cầu PHP và cở sở dữ liệu.
Để không mất thời gian của các bạn hãy cùng mình đi vào các bước thực hiện nhé. Trong các bước mình sẽ hướng dẫn chi tiết kèm theo các mô tả đính kèm. II. Các bước cấu hìnhĐể cấu hình Nginx FastCGI Cache trên NGINX bạn thực hiện tuần tự theo các bước sau. Vì các thao tác chỉnh sửa file cấu hình và nếu bạn là người mới mình sẽ thêm một lệnh Bước 1: Chỉnh sửa file cấu hình NGINXĐầu tiên bạn hãy mở file cấu hình cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak vi /etc/nginx/nginx.conf fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; fastcgi_cache FASTCGICACHE; fastcgi_cache_valid 60m; add_header X-FastCGI-Cache $upstream_cache_status; Trong đó:
Bước 2: Định cấu hình NGINX để kích hoạt FastCGI CacheBạn hãy mở file cấu hình vhost của domain để định cấu hình cache. Trước tiên bạn cần xác định được file vhost domain của bạn nằm ở đâu trước đã. Bạn có thể tìm kiếm nhanh bằng cách mở file Lưu ý: Thay Sau khi đã xác định được bạn hãy mở file cấu hình vhost domain và thêm các dòng sau. cp /etc/nginx/conf.d/my_domain.conf /etc/nginx/conf.d/my_domain.conf.bak vi /etc/nginx/conf.d/my_domain.conf Bạn hãy copy 4 dòng bên dưới và thêm ở trên block fastcgi_cache_path /var/run/nginx-fastcgi-cache levels=1:2 keys_zone=FASTCGICACHE:100m inactive=60m; fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_use_stale error timeout invalid_header http_500; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; Trong đó
Bước 3: Cấu hình nội dung không lưu vào bộ nhớ CacheCác phiên đăng nhập, cookie người dùng, các yêu cầu POST, chuỗi truy vấn, WordPress back-end, sơ đồ trang web (sitemap), feeds và tác giả
nhận xét không nên lưu vào bộ nhớ đệm. Và để tắt bộ nhớ đệm cho các mục trên, hãy chỉnh sửa tệp cấu hình nginx tại file set $skip_cache 0; POST requests and urls with a query string should always go to PHP if ($request_method = POST) { set $skip_cache 1; } if ($query_string != "") { set $skip_cache 1; } Don't cache uris containing the following segments if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") { set $skip_cache 1; } Don't use the cache for logged in users or recent commenters if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { set $skip_cache 1; } Ảnh minh hoạ thực tế Sau khi đã thêm vào file cấu hình vhost hoàn tất. Bạn hãy di chuyển sang bước tiếp theo để hoàn thành. Bước 4: Khởi động lại dịch vụ NGINXTrước khi khởi động lại dịch vụ bạn hãy test file cấu hình nginx bằng cách sử dụng cú pháp nginx -t service nginx restart Bước 5: Cài đặt Plugin và kiểm tra CacheCài đặt Plugin Cache Bước cuối cùng bạn cần làm là cài đặt plugin NGINX Cache của WordPress để tự động xóa bộ nhớ cache FastCGI bất cứ khi nào nội dung trang web WordPress của bạn thay đổi. Có nhiều plugin để bạn lựa chọn, nhưng trong bài này mình sẽ sử dụng một plugin của Till Krüss, và plugin đó có tên là NGINX Cache.
Sau khi cài đặt hoàn tất, bạn thực hiện kích hoạt Plugin lên để sử dụng. Tiếp theo bạn truy cập vào Tools => Nginx Cache. Ở phần Cache Zone Path bạn hãy nhập vào đường dẫn lưu cache mà đã tạo ở Bước 2 trong dòng Kiểm tra FastCGI Cache Tại cửa sổ Terminal bạn nhập vào lệnh Ngoài ra bạn có thể kiểm tra từ trình duyệt bằng cache kiểm tra Headers. Bận nhấm phím Bảng so sánh trước và sau khi cache Mình sử dụng ApacheBench để kiểm tra trước và sau khi cache. ab -n 100 -c 10 https://lab5.dotrungquan.info/ Lệnh này có nghĩa là 100 kết nối từ 10 người dùng khác nhau. Và ảnh bên
dưới là kết quả benchmark của mình. Bạn hãy xem các thông số từ dưới dòng Document Length và các thông số quan trọng là III. Tổng kếtNhư vậy mình đã hướng dẫn hoàn tất các bước thiết lập Nginx FastCGI Cache trên NGINX giảm thời gian phản hồi máy chủ. Chúc các bạn có thể thực hiện thành công. Xem thêm các bài viết hữu ích về VPS Linux tại đường dẫn sau:
Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:
|