Hầu như các WordPress hiện nay đang chạy Nginx và sử dụng plugin cache WP-Rocket, tuy nhiên WP-Rocket lại được làm tối ưu trên Apache, LiteSpeed Web Server (OpenLiteSpeed) hơn là Nginx.
Vậy để website WordPress có thể chạy WP-Rocket trên Nginx một cách hiệu quả và tối ưu thì bạn sẽ phải cần cài đặt Rocket-Nginx.
Rocket-Nginx là cấu hình Nginx dành cho WordPress sử dụng plugin WP-Rocket, nó cho phép Nginx gửi các files cache mà không cần chạy đoạn code PHP nào giúp bạn giảm tải ở server.
Bước 1: Thay đổi WP_CRON bằng lệnh cron job trên server Nginx.
Vì Rocket-Nginx sẽ tạo cache và gửi đến máy client mà không cần phải thực thi PHP từ WordPress nên đôi khi sẽ khiến WP_Cron sẽ không hoạt động đúng. Vậy để hoạt động WP_Cron không bị lỗi bạn nên chuyển qua dùng cron job của server
1.1. Tắt WP Cron của WordPress trong file wp-config.php
define( 'DISABLE_WP_CRON', true );
1.2. Sử dụng lệnh cron job thay thế
*/15 * * * * wget -q -O - http://www.website.com/wp-cron.php?doing_wp_cron &>/dev/null
hoặc
*/15 * * * * curl http://www.website.com/wp-cron.php?doing_wp_cron &>/dev/null
hoặc
*/15 * * * * cd /home/user/public_html; php wp-cron.php &>/dev/null
Nếu bạn chưa biết cấu hình cron job có thể tham khảo bài viết : Hướng dẫn cài đặt và cấu hình Cronjob trên Centos
Bước 2: Cài đặt Rocket-Nginx
Dùng lệnh sau
cd /etc/nginx
git clone https://github.com/satellitewp/rocket-nginx.git
sau đó, lần lượt chạy lệnh
cd rocket-nginx
cp rocket-nginx.ini.disabled rocket-nginx.ini
php rocket-parser.php
Kết quả nhận được là một file default.conf, và đây là file config dành cho wp-rocket và nginx có thể dùng chung cho tất cả các website
Bước 3: Thêm vào cấu hình cho trang WordPress của bạn
Cách 1: Truy cập vào thư mục root Wordpress của bạn và tạo file rocket-nginx.conf
với nội dung:
include /etc/nginx/rocket-nginx/default.conf;
Cách 2: Vào trực tiếp file cấu hình của bạn để thay đổi như sau
server {
...
# Rocket-Nginx configuration
include rocket-nginx/default.conf;
...
}
Trước khi restart nginx hãy test bằng lệnh "nginx -t". Nếu không lỗi bạn hãy reload lại nginx bằng lệnh " service nginx reload "
Bước 4: Kiểm tra website
Bạn truy cập vào trang quản trị website, vào Plugin WP-Rocket thực hiện Clear cache và Preaload lại cache.
Tiếp đó bạn truy cập website và nhấn F12 , chọn tab Network => Headers để kiểm tra => bạn để ý dòng X-Rocket-Nginx-Bypass: Yes là đã cấu hình thành công rồi nhé.