Cách cấu hình NGINX FastCGI Cache trên aaPanel đơn giản

Cấu hình Cache không còn xa lạ khi triển khai Website. Nhờ cấu hình này mà website của bạn có thể tải được hàng trăm ngàn lượt truy cập mà không bị downtime. Vậy bạn đã biết cách cấu hình NGINX FastCGI Cache trên aaPanel chưa? Nếu chưa hãy cùng LANIT tìm hiểu ngay sau đây nhé!

Điều kiện trước khi cấu hình

Để cấu hình được NGINX FastCGI Cache trên aaPanel, bạn cần đảm bảo có những điều kiện sau:

  • Đã cài đặt Website WordPress trên aaPanel
  • Đã cài aaPanel trên VPS hoặc Server
  • Có quyền truy cập SSH vào Server hoặc VPS với quyền root.

Các bước cấu hình NGINX FastCGI Cache trên aaPanel

Cấu hình NGINX FastCGI Cache trên aaPanel được thực hiện theo 3 bước chính:

  • Bước 1: Tạo thư mục Cache
  • Bước 2: Cấu hình NGINX
  • Bước 3: Cài đặt và cấu hình Plugin NGINX Helper

Bước 1: Tạo thư mục Cache

Trước tiên bạn cần tạo một thư mục riêng để chứa các file cache. Hãy đăng nhập vào server bằng SSH với quyền root, sau đó thực hiện lệnh sau:

mkdir /var/run/fastcgi-cache

Bước 2: Thiết lập NGINX

Truy cập file cấu hình của website trên aaPanel. Sau đó chọn website cần cấu hình rồi nhấn Config.

truy-cap-file-cau-hinh
Truy cập file cấu hình

Tiếp sau đó, bạn tìm dòng “include enable-php-83.conf” rồi thêm dấu # để vô hiệu hoá dòng lệnh này.

chinh-sua-file-cau-hinh
Chỉnh sửa file cấu hình

Bạn cần chỉnh sửa file vhost của domain để thêm cấu hình FastCGI Cache. Nếu website đã bật HTTPS, hãy chèn đoạn code này ngay bên dưới dòng #SSL-END.

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-83.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";
}

#FastCGI-Cache

Lưu ý: Thay change_to_your_server_ip bằng địa chỉ IP của Server hoặc VPS. Sau đó điều chỉnh đường dẫn unix:/tmp/php-cgi-83.sock trong trường hợp bạn dùng PHP phiên bản khác 8.3

Them Cau Hinh Fastcgi Cache
Thêm cấu hình FastCGI Cache

Trong đó:

  • $host: Là tên miền mà người dùng truy cập vào, ví dụ như example.com.
  • $scheme: Chỉ giao thức mà trình duyệt đang sử dụng để truy cập website, có thể là HTTP hoặc HTTPS.
  • $request_uri: Toàn bộ đường dẫn URL của trang web, bao gồm cả phần tham số đi kèm nếu có.
  • $request_method: Xác định kiểu yêu cầu gửi tới server, phổ biến nhất là GET (để lấy dữ liệu) hoặc POST (để gửi dữ liệu).

Lưu thay đổi và khởi động lại NGINX. Khi đã thêm xong các đoạn cấu hình, hãy bấm Save để lưu lại.
Tiếp theo, cần reload NGINX để các thiết lập mới có hiệu lực, bằng cách sử dụng lệnh sau:

service nginx reload

Bước 3: Thiết lập và cấu hình plugin NGINX Helper

Mở file wp-config.php website WordPress sau đó nhập thêm lệnh:

define('RT_WP_NGINX_HELPER_CACHE_PATH', '/var/run/fastcgi-cache');

Bước tiếp theo, hãy tìm và tải plugin “Nginx Helper” trong thư viện plugin WordPress. Sau đó tiến hành cài đặt và kích hoạt để bắt đầu sử dụng.

Plugin Nginx Helper
Cấu hình NGINX FastCGI Cache trên aaPanel: Tăng tốc website WordPress hiệu quả

Trong phần cài đặt plugin, chọn phương thức “Purge Method” là “Using a GET request to PURGE/url“, sau đó nhớ lưu lại cài đặt.

chon-phan-purge-method
Chọn phần Purge Method

Kiểm tra NGINX FastCGI Cache

Khi đã hoàn tất việc cấu hình NGINX FastCGI Cache trên aaPanel, bạn có thể kiểm tra xem cache đã hoạt động chưa bằng lệnh curl trong SSH.

curl -I https://[Tên Domain]

Thay tên domain thành tên miền web của bạn. Nếu dòng nginx-cache trả giá trị là HIT thì nghĩa là cấu hình thành công. Nếu giá trị là MISS thì cấu hình chưa thành công.

kiem-tra-lai-sau-khi-cau-hinh-nginx-fastcgi-cache-tren-aapanel
Kiểm tra lại sau khi cấu hình NGINX FastCGI Cache trên aaPanel

Câu hỏi thường gặp

Tại sao cache không hoạt động dù đã cấu hình đúng?

Có một số nguyên nhân thường gặp khiến cache không hoạt động như mong đợi:

  • Một số dòng cấu hình như fastcgi_cache_bypass hoặc fastcgi_no_cache có thể đang được thiết lập khiến NGINX bỏ qua cache. Ví dụ: nếu người dùng đăng nhập hoặc có cookie nhất định, hệ thống sẽ không cache để tránh xung đột phiên làm việc.
  • Plugin của CMS như WordPress có thể tự thêm các header như Set-Cookie, Cache-Control: no-cache khiến cache bị vô hiệu.
  • Đường dẫn lưu cache không có quyền ghi, hoặc server không đủ quyền/không tồn tại thư mục đó.

Bạn có thể kiểm tra file log của NGINX để xem chi tiết bằng lệnh:

tail -f /www/server/nginx/logs/error.log

Nên lưu cache ở đâu để đạt hiệu năng tối ưu nhất?

Đối với server có dung lượng RAM trống đủ lớn (trên 2GB), nên lưu cache vào RAM thông qua thư mục /dev/shm/nginx_cache để tối ưu tốc độ truy xuất. Đây là phương án nhanh nhất vì không cần truy xuất ổ đĩa vật lý. Nếu dung lượng RAM không đủ, bạn có thể lưu cache ở ổ cứng SSD, ví dụ /var/cache/nginx, nhưng cần đảm bảo ổ cứng có hiệu suất tốt.

Có cần dùng thêm plugin cache khi đã cấu hình FastCGI Cache không?

Nếu đã cấu hình FastCGI Cache đúng cách ở tầng NGINX, thì không cần dùng thêm plugin như WP Super Cache hoặc W3 Total Cache – trừ khi cần thêm tính năng như preload hoặc xóa cache theo sự kiện đăng bài.

Tuy nhiên, có thể kết hợp plugin Nginx Helper để tự động xóa cache khi có thay đổi trong WordPress (cập nhật bài viết, bình luận, xóa nội dung…).

Lời kết

Trên đây là bài viết hướng dẫn cấu hình NGINX FastCGI Cache trên aaPanel, nếu bạn còn cần hỗ trợ điều gì hãy liên hệ để LANIT support bạn nhanh nhất nhé!

Nguyễn Đức Hòa

Xin chào, mình là Nguyễn Đức Hoà, hiện đang đảm nhận vị trí Trưởng phòng kỹ thuật tại LANIT. Với 8 năm kinh nghiệm trong mảng System, Network, Security, mình luôn hướng đến việc tìm kiếm và áp dụng các giải pháp kỹ thuật tiên tiến nhất cho mọi dự án. Công việc của mình không chỉ dừng lại ở việc quản lý mà còn mang đến cho khách hàng những giải pháp lưu trữ dữ liệu tốt nhất hiện nay. Rất hy vọng những kinh nghiệm và chia sẻ của mình sẽ mang lại nhiều giá trị hữu ích cho các bạn.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!