Trang chủ / Website / Cách Thiết Lập Bộ Nhớ Đệm Redis cho WordPress với Ubuntu và Nginx

Cách Thiết Lập Bộ Nhớ Đệm Redis cho WordPress với Ubuntu và Nginx

Redis là một cơ sở dữ liệu phân tán trong bộ nhớ, được sử dụng như một cơ sở dữ liệu đệm lưu trữ dữ liệu dưới dạng key-value.

Redis lưu trữ dữ liệu trong RAM nên việc truy xuất dữ liệu khá nhanh. Do đó, Redis thường được sử dụng làm bộ nhớ đệm.

Trong bài đăng này, tôi sẽ hướng dẫn bạn cách thiết lập Redis làm bộ nhớ đệm cho trang web WordPress để tăng hiệu suất.

Chuẩn bị

Trước khi bắt đầu, bạn cần có sẵn:

Do việc cài đặt và thiết lập Redis được thực hiện trên máy chủ nên bạn vẫn cần sử dụng công cụ Terminal trên Macbook hoặc Bitvise SSH Client trên máy tính hệ điều hành Windows.

Bước 1: Cài đặt Redis

Đầu tiên, bạn gõ câu lệnh sau vào Terminal:

sudo apt update

Sau đó, chạy apt install để cài đặt Redis và tiện ích mở rộng PHP sẽ cho phép các ứng dụng PHP như WordPress giao tiếp với Redis:

sudo apt install redis-server php-redis

Khi kết quả hiển thị có dòng Do you want to continue? [Y/n], bạn gõ Y và nhấn phím Enter để xác nhận rằng bạn muốn cài đặt Redis.

Khi bạn cài đặt xong, hãy khởi động lại PHP-FPM để bộ xử lý PHP đang chạy có thể tận dụng các tính năng mới được cài đặt:

sudo systemctl restart php8.1-fpm

Bây giờ, bạn có thể chạy lệnh sau để tìm lỗi cú pháp:

sudo nginx -t

Nếu không có lỗi nào được cảnh báo, hãy tải lại Nginx bằng cách chạy lệnh:

sudo systemctl reload nginx

Bước 2: Thiết lập Redis làm bộ nhớ đệm

Để bắt đầu thiết lập, bạn sẽ cần mở tệp redis.conf bằng cách gõ lệnh:

sudo nano /etc/redis/redis.conf

Tiếp theo, thêm hai cấu hình maxmemory dưới đây vào sau dòng cuối cùng:

maxmemory 512mb
maxmemory-policy allkeys-lru
Lưu ý

Đặt maxmemory tùy theo dung lượng RAM có sẵn trong máy chủ của bạn.

Khi bạn hoàn tất, bạn có thể lưu và đóng tệp bằng cách gõ tổ hợp phím CTRL+X, sau đó gõ Y và nhấn phím ENTER để xác nhận.

Bây giờ, bạn hãy khởi động lại máy chủ Redis:

sudo systemctl restart redis-server

Bước 3: Cấu hình WordPress Cache Salt

Đầu tiên, hãy mở tệp wp-config.php bằng cách chạy lệnh sau:

sudo nano /var/www/your_domain/wp-config.php

Sau đó, thêm các dòng sau vào cuối phần “Authentication Unique Keys and Salts”:

define('WP_CACHE', true);
define('WP_CACHE_KEY_SALT', 'your_domain');
Lưu ý

Bạn có thể đặt giá trị của WP_CACHE_KEY_SALT bằng bất kỳ chuỗi nào bạn thích nhưng nó phải là duy nhất cho mọi website WordPress trên máy chủ. Cách được khuyến nghị là sử dụng tên miền của bạn.

Bước 4: Cài đặt plugin Redis Object Cache

Trong khu vực quản trị viên WordPress, bạn truy cập trang Plugin > Thêm mới và tìm kiếm plugin Redis Object Cache.

Tiếp theo, nhấp vào “Cài đặt ngay” và sau đó kích hoạt plugin.

Sau khi cài đặt plugin, bạn cũng cần sao chép tệp object-cache.php từ thư mục plugin wp-content/plugins/redis-cache/includes/object-cache.php vào thư mục wp-content bằng cách chạy lệnh sau trên Terminal:

cp /var/www/your_domain/wp-content/plugins/redis-cache/includes/object-cache.php /var/www/your_domain/wp-content/

Bước 5: Sửa điều kiện xóa bộ nhớ đệm

Plugin Redis Object Cache lưu trữ đầu ra của wp_load_alloptions(). Nó chứa tất cả các tùy chọn trong đó cột tự động tải là mặc định.

Điều này sẽ giúp tăng hiệu suất trang web nhưng bạn có thể gặp phải tình trạng “tranh đua” khi cập nhật các tùy chọn của mình. Do đó, khi bạn cập nhật cài đặt WordPress, nó có thể không được phản ánh ngay lập tức hoặc thậm chí không được lưu.

Giải pháp cho vấn đề này là thêm đoạn script sau vào tệp functions.php của bạn. Trước tiên, hãy mở tệp functions.php bằng cách chạy lệnh sau trên Terminal:

sudo nano /var/www/your_domain/wp-content/themes/your_theme/functions.php

Tiếp theo, bạn thêm đoạn mã sau vào:

function redis_maybe_clear_alloptions_cache( $option ) {
    if ( ! wp_installing() ) {
        $alloptions = wp_load_alloptions(); 
        if ( isset( $alloptions[ $option ] ) ) { 
            wp_cache_delete( 'alloptions', 'options' );
        }
    }
}
add_action( 'added_option',   'redis_maybe_clear_alloptions_cache' );
add_action( 'updated_option', 'redis_maybe_clear_alloptions_cache' );
add_action( 'deleted_option', 'redis_maybe_clear_alloptions_cache' );

Đoạn mã này sẽ giúp xóa bộ nhớ đệm phân bổ bất cứ khi nào bạn thêm, cập nhật hoặc xóa một tùy chọn.

Khi bạn hoàn tất, bạn có thể lưu và đóng tệp bằng cách gõ tổ hợp phím CTRL+X, sau đó gõ Y và nhấn phím ENTER để xác nhận.

Bước 6: Kiểm tra cấu hình của bạn

Chạy lệnh này trên Terminal để kiểm tra:

redis-cli monitor

Sau đó, trong khu vực quản trị WordPress của bạn phần Cài đặt > Redis sẽ hiển thị như sau:

Redis Cache WordPress

Điều đó có nghĩa là trang web của bạn đã được kết nối thành công với Redis và nó sẽ được tăng hiệu suất từ ​​việc sử dụng Redis làm bộ nhớ đệm.

Về tác giả Phạm Đình Quân

Phạm Đình Quân là người sáng lập BetterGrowth, và hiện đang là Head of Digital Execution tại Vingroup. Anh ấy có gần 10 năm kinh nghiệm, từng quản lý đội ngũ marketing hơn 60 nhân sự, yêu thích việc chia sẻ bằng kiến thức và kinh nghiệm dày dặn của mình.
Tìm hiểu thêm

Viết một bình luận