Giới thiệu chung.
NGINX FastCGI Cache WordPress như thế nào? Nhắc đến cấu hình Cache thì chắn hẵn không còn xa lạ với bất kỳ ai khi triển khai website. Cache được được coi là “xương sống”, quyết định hiệu năng và tốc độ của website. Giả sử website của bạn phục vụ hàng trăm, hàng ngàn lượt truy cập mỗi ngày thì việc không triển khai cache sẽ làm cho hệ thống luôn ở trạng thái overload vì phải nhận request và phản hồi response liên tục. Khi bạn đã triển khai cache thì sẽ giảm tải đi response giúp cho máy chủ được nhàn rỗi hơn. NGINX là một máy chủ web phổ biến, hiệu suất cao có thể lưu trữ các trang web WordPress. Ngoài vai trò là một máy chủ web, nó còn được sử dụng như một reverse proxy, mail proxy, load balancer, và bộ đệm HTTP. Theo W3Techs 32.1% các trang web được cài đặt lên máy chủ NGINX (tính đến 25/05/2020)Các bước thực hiện.
Bước 1: Tạo thư mục fastcgi-cache
Bạn sẽ cần tạo một thư mục fastcgi-cache để lưu cache vào đây. Bạn dùng lệnh sau để tạo cho nhanh nhé.AZDIGI
mkdir /dev/shm/fastcgi-cache
- mkdir: lệnh tạo thư mục
- /dev/shm/fastcgi-cache: thư mục được tạo
Bước 2: Cấu hình vào file domain.conf.
Bạn truy cập vào Website => Configuration để đến phần thiết lập nâng cao.



AZDIGI
fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_path /dev/shm/fastcgi-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m; fastcgi_cache_use_stale error timeout invalid_header http_500; fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
- $scheme: Yêu cầu scheme HTTP hoặc HTTPS
- $request_method: Các phương thức yêu cầu thường là POST hoặc GET
- $host:
- $request_uri: URL yêu cầu
- /var/cache/nginx: Đường dẫn thư mục cho bộ nhớ cache.
- levels: Xác định phân cấp của bộ nhớ cache
- keys_zone (name:size): Cho phép tạo vùng bộ nhớ chia sẻ nơi lưu trữ tất cả các khóa hoạt động và thông tin về dữ liệu (meta). Lưu ý rằng việc lưu trữ các khóa trong bộ nhớ sẽ tăng tốc quá trình kiểm tra, bằng cách giúp NGINX dễ dàng xác định xem MISS hay HIT của nó mà không cần kiểm tra trạng thái trên disk.
- inactive: Chỉ định khoảng thời gian mà sau đó dữ liệu đã lưu trong bộ nhớ cache không được truy cập trong thời gian đã chỉ định sẽ bị xóa khỏi bộ nhớ cache. Giá trị 60m trong cấu hình ví dụ có nghĩa là các tệp không được truy cập sau 60m sẽ bị xóa khỏi bộ nhớ cache.




AZDIGI
set $skip_cache 0; if ($request_method = POST) { set $skip_cache 1; } if ($query_string != "") { set $skip_cache 1; } if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") { set $skip_cache 1; } if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { set $skip_cache 1; } location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi-73.sock; fastcgi_index index.php; include fastcgi.conf; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; add_header X-Cache "$upstream_cache_status From $host"; fastcgi_cache WORDPRESS; add_header Cache-Control max-age=0; add_header Nginx-Cache "$upstream_cache_status"; add_header Last-Modified $date_gmt; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; etag on; fastcgi_cache_valid 200 301 302 1d; } location ~ /purge(/.*) { allow 127.0.0.1; allow "change_to_your_server_ip"; deny all; fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; }




AZDIGI
service nginx reload


Bước 3: Cài đặt và cấu hình NGINX FASTCGI với Nginx Helper
Để kết hợp môi trường giao tiếp giữa website và máy chủ web. Bạn sẽ cài một Plugin để cài đặt kết hợp. Ở đây mình sẽ sử dụng Plugin Nginx Helper để cấu hình.



AZDIGI
define('RT_WP_NGINX_HELPER_CACHE_PATH', '/dev/shm/fastcgi-cache');






- Hotline 247: 028 730 24768 (Ext 0)
- Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@azdigi.com