Bật Super FastCGI Nginx Cache cho WordPress trên Ubuntu Cloud

Bật Super FastCGI Nginx Cache cho WordPress trên Ubuntu Cloud

Kích hoạt bộ nhớ cache là một trong những kỹ thuật tốt nhất để cải thiện tốc độ tải trang web. Tuy nhiên, hầu hết các trang web và blogger sử dụng plugin WordPress. Tuy nhiên, cá nhân tôi thích sử dụng kỹ thuật bộ nhớ đệm phía máy chủ tức là FastCGI Nginx Cache.

1. Tạo cấu hình FastCGI-Cache trong Snippets

Cũng giống như chúng tôi đã tạo bộ nhớ cache của trình duyệt và nén gzip trong bài viết trước của chúng tôi. Chúng ta cần tạo một tệp fastcgi-cache.conf.

Tạo và mở tệp trong / etc / nginx / snippets / và thêm các quy tắc sau:

# The key to use when saving cache files, which will run through the MD5 hashing algorithm.
fastcgi_cache_key "$scheme$request_method$host$request_uri";
# If an error occurs when communicating with FastCGI server, return cached content.
# Useful for serving cached content if the PHP process dies or timeouts.
fastcgi_cache_use_stale error timeout invalid_header http_500;
# Allow caching of requests which contain the following headers.
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
# Show the cache status in server responses.
add_header X-Cache $upstream_cache_status;
# Don't skip by default
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/|/deploy/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml|/store.*|/cart.*|/my-account.*|/checkout.*|/addons.*|/ideas.*|/wishlist.*") {
set $skip_cache 1;
}
# Don't use the cache for cookied logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in|woocommerce_cart_hash|woocommerce_items_in_cart") {
set $skip_cache 1;
}

Điều này sẽ bổ sung các điều kiện khi bộ nhớ cache sẽ được xử lý và cũng hiển thị phản hồi tiêu đề với X-Cache để hiểu xem Nginx Cache của chúng ta là HIT hay MISS.Đóng tệp fastcgi-cache.conf và chuyển đến tệp cấu hình nginx mặc định.

2. Quy tắc FastCGI-Cache trong Nginx

Mở tệp cấu hình nginx mặc định nằm trong / etc / nginx / sites-available . Bạn có thể mở tệp cấu hình trong trình chỉnh sửa nano .

sudo nano/etc/nginx/sites-available/default

Bây giờ, hãy thêm dòng sau để bao gồm khối fastcgi-cache.conf trong máy chủ {..} mà chúng ta đã tạo ở bước trước:

# Fastcgi cache rules
include snippets/fastcgi-cache.conf;

Điều này sẽ giúp bao gồm và tuân theo các quy tắc mà chúng tôi đã đề cập trong tệp cấu hình fastcgi-cache .

3. Thêm đường dẫn FastCGI Nginx Cache

Mở tệp cấu hình nginx mặc định và thêm dòng bên dưới để thiết lập đường dẫn nginx fastcgi-cache :

# Tệp cấu hình này sử dụng nginx fastcgi-cache 
fastcgi_cache_path / var / www / demo / cache levels = 1: 2 key_zone = restorebindemo: 100m inactive = 60m;

Điều này sẽ giúp Nginx đọc và ghi các tệp bộ đệm vào đường dẫn và phục vụ khi được yêu cầu.

4. Xác định quy tắc bộ nhớ đệm FastCGI

Tiếp theo, trong chỉ thị location ~ \ .php $ {…} , hãy thêm các quy tắc FastCGI-cache sau theo cùng một mặc định:

# Skip cache based on rules in snippets/fastcgi-cache.conf.
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
# Define memory zone for caching. Should match key_zone in fastcgi_cache_path above.
fastcgi_cache restorebindemo;
# Define caching time.
fastcgi_cache_valid 60m;
#increase timeouts
fastcgi_read_timeout 6000;
fastcgi_connect_timeout 6000;
fastcgi_send_timeout 6000;
proxy_read_timeout 6000;
proxy_connect_timeout 6000;
proxy_send_timeout 6000;
send_timeout 6000;

Điều này sẽ giúp nginx giữ bộ nhớ cache hợp lệ trong 60 phút và cũng đặt thời gian chờ. Bây giờ chúng ta đã hoàn tất việc thêm và chỉnh sửa, hãy lưu và đóng tệp cấu hình mặc định .

5. Khởi động lại và kiểm tra FastCGI Nginx Cache

Kiểm tra các thay đổi tệp cấu hình Nginx bằng lệnh dưới đây:

sudo nginx -t

Và khởi động lại máy chủ web để cam kết các thay đổi đối với máy chủ trực tiếp bằng lệnh dưới đây.

sudo service nginx restart

Bây giờ chúng ta có thể kiểm tra Nginx Cache trong SSH của mình để đọc tiêu đề phản hồi bằng lệnh dưới đây. Chúng ta cần thực hiện lệnh sau hai lần để xác minh xem tham số bộ đệm FastCGI X-Cache là MISS hay HIT.

sudo curl -I https://demo.restorebin.com

6. Xóa Nginx Cache bằng WordPress Plugin

Chúng ta có thể sử dụng một plugin WordPress siêu dễ dàng có tên là Nginx Cache của Till Krüss. Làm theo các bước sau:

  • Đăng nhập vào Bảng điều khiển WordPress
  • Điều hướng đến Thêm mới trong menu Plugin
  • Tìm kiếm và cài đặt plugin Nginx Cache
  • Kích hoạt Plugin
  • Trên trang cài đặt Nginx Cache , hãy nhập fastcgi_cache_path mà chúng tôi đã đề cập trong tệp Cấu hình Nginx – / var / www / demo / cache
  • Bật hộp kiểm cho Tự động xóa bộ nhớ cache khi nội dung thay đổi

 

Leave a Reply

Your email address will not be published.


*