WP Rocket và Rocket-Nginx về cơ bản là một combo khá hoàn hảo, đơn giản, hiệu quả, sử dụng hình thức cache html, với combo này bạn có thể tăng x20-x30 lần sức chịu tải của server so với việc không cài và mình thử qua không dưới 10 plugin cache, vẫn thấy đây là combo ổn nhất về tổng thể, nếu thuần túy khách vào site chỉ views, ít tương tác kiểu comment, mua bán hàng hóa, số liệu thay đổi liên tục thì sơ sơ combo này có thể chịu đựng được trên 1000 client mỗi giây 😀 nói dễ hiểu là khoảng 86.400.000 views / ngày
Tất nhiên con số này chỉ tính thuần túy views thôi 😀 còn nếu đá sang kiểu như forum, post bài liên tục thì tạch sớm 😀 mỗi cái từ ngày có facebook thì mình cũng chẳng còn ai chạy forum làm gì nữa 😀
Mình cũng chưa thấy site nào có 1000 client mỗi giây mà ít tương tác nữa, tay nào viết bài mà có cả ngàn người xem mỗi giây thế thì thành thánh rồi :]] thành ra về con số trên nó cũng thuần túy là số liệu để bạn tham khảo thôi 😀
Nếu không cache, chạy thuần túy, thì một VPS RAM 1GB thông thường khoảng 30-50 người vào cùng lúc là mình thấy nó có triệu chứng ngáp ngáp rồi á, mà đấy là còn config phía server tốt á, chứ giai đoạn đầu tiên thèng bibica.review tự cài tất cả phía server, 5-7 mạng vào thấy đơ đơ nữa á :]]
Ban đầu bài này viết, mình chỉ nói khá ngắn gọn, vì bàn cũ bên NRD viết cũng khá cụ thể rồi, có điều hôm nay cài lại cho thèng bibica.net, nên viết dài dài ra thêm tí, phần là bài cũ viết cũng trên bản WP Rocket khá cũ
Cài đặt WP Rocket
WP Rocket rất nhiều người Việt Nam dùng, nên bạn sẽ không khó khăn gì để có thể google ra bản License Infinite, một số dịch vụ họ cũng bán tầm 50.000 vnđ cho bản license dùng không giới hạn domain này, nên rất hợp lý 😀 nói chung các bạn có thể google, xin hay mua ở đâu cũng được, cố gắng dùng bản rõ ràng nguồn gốc là được 😀
Phiên bản mới nhất là v3.2.3.1 release vào 17/12/2018, thật ra thì khi bản v3 vừa ra mình cũng có dùng thử, thấy chạy ì ạch quá, hôm nay thử lại thì thấy chạy khá smooth và ổn định nên mới có hứng viết lại bài này 😛
Giao diện v3 khá là sạch sẽ và trực quan, thường bạn chỉ mất tầm 2-3 phút là có thể dùng được plugin này
Tab Cache
Gần như để mặc định, bật tùy chọn Enable caching for mobile devices là được
Cache Lifespan mặc định là 10h, thường mình hay để tầm 2h để nó tự clear cache và tạo preload lại 😀
Tab File Optimization
Các tính năng của tab File Optimization gồm Basic Settings, CSS Files, JavaScript Files thì thường mình không dùng, chủ yếu các vấn đề như giảm request ở http thì có hiệu quả, còn khi bạn dùng trên https nó không ăn thua, chưa kể khi bạn đã cache thành file html cả rồi thì các tính năng optimization khác nó cũng chỉ là vẽ vời, thêm vào cho vui, chứ không hiệu quả, bạn lại phải mất thêm có khi cả buổi để kiểm tra lại xem có plugin nào khác chạy gây lỗi không, cá nhân recommend off tất cả tính năng ở tab File Optimization
Tab Media
LazyLoad thì mình không có thiện cảm lắm, mình chỉ dùng để nó tự tạo 1 cái ảnh cho các video từ youtube khi mình add vào bài viết là đủ, lý thuyết thì nó giảm request từ youtube đi, có điều thực tế như mình có nói ở phần File Optimization, khi đã cache rồi thì các tính năng optimization khác nó chỉ vẻ vời thôi 😀 bạn setting như hình là đủ 😛
Tab Preload
Đây là một trong những tính năng khác biệt của Wp Rocket so với các plugin tạo cache khác, vì tính năng preload này mà mình đánh giá WP Rocket rất cao
Nôm na với các plugin cache khác, khi người đầu tiên vào 1 trang, nó mới tạo cache trang đó, và từ người thứ 2 thì sẽ dùng lại cache do người thứ nhất tạo ra, tổng thể rất đơn giản, nhẹ nhàng, WP Rocket thì họ tự tạo các cache trước, trước đây thì họ phải tạo thông qua sitemap, bản v3 này thì mình thấy họ có sử lý thêm cách khác, nôm na nó cứ bắt đầu từ trang chủ, xong nó tự đi vào từng link trên trang của bạn, tới trang nào nó tạo cache trang đó
Mặc định nếu bạn dùng Yoast SEO, All-in-one-SEO, Rank Math SEO, hoặc The SEO Framework thì WP Rocket cũng tự detect ra được cái link sitemap của bạn để điền vào
Thường thì mình hay điền đủ hết cái sitemap được tạo ra từ Yoast SEO 😀
Prefetch DNS Requests cũng là một tính năng hay, nếu dùng Jetpack, bạn có thể thêm vào các link kiểu //w0.wp.com, //w1.wp.com … để nó load các link ảnh từ wp.com nhanh hơn, mình thử thì thấy có cải thiện khá nhiều
Tab Advanced Rules
Đây là một tính năng quan trọng nhất, mà hiện tại mình chỉ thấy ở WP Rocket và Swift Performance hỗ trợ, bạn có thể tùy biến Cookies, User Agent(s), Query String(s) … để WP Rocket không cache các phần đó, cái này thì tùy bạn đang dùng thêm các plugin nào mà thêm vào, chẳng hạn như với plugin YITH Wishlist thì thêm dòng yith_wcwl_products vào phần Never cache (cookies) …
Nói chung WP Rocket mạnh nhất ở 2 tab là Preload và Advanced Rules, nên nếu bạn nào dùng mà không cần 2 tính năng này thì cơ bản nó chẳng khác gì các plugin cache thông thường khác cả 😀
Trên bibica.net thì tab Advanced Rules mình để trắng, không điền gì cả 😀
Tab Database
Nói chung nó tự xóa các bài post lưu tạm, comment spam … set 1 tuần cho nó chạy 1 lần là đủ, tính năng này thì thường các trang hoạt động 2-3 năm mà chưa xóa rác database bao giờ mới thấy rõ hiệu quả, nếu sợ nó xóa nhầm các bài viết tạm thì tốt nhất off tính năng này, khi nào dùng thì vào ấn xóa 1 phát là được
Tab CDN
Đây là 1 tính năng khá hay của WP Rocket, không nhiều plugin CDN có tính năng tách ảnh, file css, js ra từng domain như họ, kiểu bạn muốn dùng file ảnh từ Jetpack, css và js từ 1 dịch vụ khác thì cứ điền vào là được, file nào không muốn dùng qua CDN thì add thêm vào Exclude files from CDN 😀
Tab Heartbeat
Tính năng Heartbeat có từ bản v3, do mình đang dùng Perfmatters, cũng đã có tính năng này, nên off, bạn nào chưa dùng thì bật nó lên là được, dùng khá hiệu quả cho việc giảm tải server 😀
Tab Add-ons
Hỗ trợ khá nhiều thứ hay ho như Google Tracking, Facebook Pixel … tiếc là mình Facebook Pixel thì mình không dùng, Google Tracking thì Perfmatters, cũng đã có tính năng này, nên mình off cả, mình đang dùng qua Cloudflare nên bật nó lên để khi WP Rocket họ clear cache, họ tự clear cả trên Cloudflare thôi
Họ cũng tích hợp xóa cache từ Sucuri, Varnish … bạn nào có dùng thêm các dịch vụ này thì add vào để nó tự clear khi xóa cache
Tab Image Optimization
Bạn nào thích thì cài thêm IMAGIFY vào, mình thì đang dùng Optimus có tính năng tương tự rồi nên phần này cũng bỏ qua 😀
Các bước setting WP Rocket cơ bản là thế, lúc này trong như mục wp-content/cache/ bạn sẽ thấy thêm thư mục wp-rocket, mỗi trang của bạn giờ nó tạo thành 1 thư mục, bên trong là 1 file .html thôi, nói chung các plugin cache đa phần na ná nhau như thế cả, WP Rocket chỉ mạnh hơn ở tính năng preload và Advanced Rules thôi, WP Rocket họ cũng viết phần doc hướng dẫn rất cụ thể và chi tiết, vấn đề gì không hiểu bạn chỉ cần ấn vào help ở bên cạnh để đọc là được 😀 không hiểu nữa thì cứ phải chuột chọn “dịch sang tiếng Việt” mà đọc :]]
Cơ bản thì cài thuần WP Rocket vào là đã đủ nhanh và tăng chịu tải lên rất nhiều rồi, có điều nếu bạn nào dùng VPS hoặc server riêng có thể cài thêm Rocket-Nginx để tăng tốc độ load trang và chịu tải thêm nữa 😀
Cài đặt Rocket-Nginx
Login vào root, type 2 dòng bên dưới
cd /usr/local/etc git clone https://github.com/maximejobin/rocket-nginx.git
Tiếp theo
cd rocket-nginx cp rocket-nginx.ini.disabled rocket-nginx.ini php rocket-parser.php
File config domain của Centmin Mod họ để ở đây:
/usr/local/nginx/conf/conf.d/bibica.net.conf
Thêm vào bên trong server {} 1 dòng
include /usr/local/etc/rocket-nginx/default.conf;
Sau đó chạy tiếp dòng dưới, reload lại nginx, để thay đổi có hiệu lực
nginx -t service nginx reload
Update 29/03/2019: trong trường hợp bạn có cài HSTS thì cần sửa lại file default.conf của Rocket-Nginx, vì họ tạo giá trị # HSTS không đúng như hstspreload yêu cầu
Mở file default.conf mặc định nằm trong thư mục /usr/local/etc/rocket-nginx/, tầm dòng 32-33 sẽ thấy giá trị # HSTS value, sửa lại như bên dưới rồi reload lại nginx là được
# HSTS value set $rocket_hsts_value "max-age=63072000; includeSubDomains; preload";
Cơ bản như thế là xong, nếu bạn setting thêm gì trong Advanced Rules của Wp Rocket thì sửa lại trong file default.conf của Rocket-Nginx để 2 thèng nó đồng bộ với nhau là được
Kiểm tra headers link bài viết thấy như hình là được
X-Rocket-Nginx-Serving-Static: Yes
Ra YES là đã tạo cache trong thư mục và load ra thành công
Nôm na là bây giờ, khi khách vào site, thay vì WP Rocket chạy, thì giờ Nginx sẽ chạy, nó sẽ load các file html nó thấy trong thư mục cache ra trước, nếu không thấy file cache thì nó sẽ để WP Rocket chạy và tạo file cache 😀
Ban đầu: NGINX → PHP-FPM → PHP (WP-Rocket) → Static file
Sau khi cài Rocket-Nginx: NGINX → Static file
Kết quả là giờ khi Nginx chạy, nó chẳng phải load bất cứ file php, mysql nào, với 1000 truy cập mỗi giây, nó chỉ ngốn khoảng 30% CPU và gần như không tốn 1 tí gì cho RAM, thời gian truy cập trung bình giảm ~613 ms và đặc biệt là không có bất cứ kết nối nào có lỗi, hiệu quả là rõ ràng
Thử khoảng 3000 client mỗi giây, nó vẫn hoàn thành bài test, tuy thế khá là ngáp ngáp 😀 CPU sử dụng gần đạt mức 100%
Vụ này thì mình cũng không chắc lắm vì bữa giờ con hàng Amazon Lightsail gói rẻ nhất có vẻ đang bị bóp lại khá nhiều 😀 có điều test cũng chỉ test cho vui thôi, vì thực tế thèng bibica.net, 1 ngày cao lắm chắc được 100 lượt truy cập :)) táng 3000 lượt truy cập trong 1 phút vào để hù đời là chính :]]
Một số người cho rằng Redis là công nghệ cache tiến bộ hơn, nhanh hơn, chịu tải tốt hơn phần là vì nó dùng Nginx để chạy thẳng, về lý thuyết là không khác mấy so với bạn dùng WP Rocket + Rocket-Nginx cả 😀
Tuy thế Redis nó lưu thẳng cache trên RAM, nên về lý thuyết, là tốn RAM hơn, chưa kể nó khá là khó cấu hình, WP Rocket vẫn dễ sử dụng và config hơn, gần như bạn có thể chạy nó hoàn hảo với mọi plugin 😛
Nói chung bạn có thể dùng bất cứ plugin cache nào bạn thích, tổng thể đều khá giống nhau, là save thành file tĩnh (html), xong để Nginx load trực tiếp ra, WP Rocket nó chỉ khá hơn chỗ là có preload, giúp load trước thành các file tĩnh (dựa vào XML sitemap và bot), đỡ phải người đầu tiên vào bị chậm thôi
Bản WP Rocket v2 ngày xưa mình dùng thì thỉnh thoảng nó bị treo lúc chạy preload và gần như 99% các plugin tạo preload đều thỉnh thoảng gặp tình trạng này, bản V3 mình mới dùng lại thì tạm thời khá thích, nhẹ, mượt, nói chung cũng đừng quá lo, preload không được thì khi có khách vào site nó cũng tự tạo cache thôi 😛 chủ yếu WP Rocket nó rất dễ tích hợp vào các plugin khác (nếu có) và họ có một đội ngũ support đông đảo để giúp đỡ bạn, đây là chuyện không thể khi bạn dùng các plugin FREE hoặc quá mới
Update 27/03/2019
Mình vừa xem lại cái shop bên ngoirungdui.com chạy WP Rocket v3.2.6 trên con VPS RAM 512 MB, vẫn chiến ổn định, nhẹ nhàng, và đặc biệt là rất mượt, so với ngày đầu mình biết tới WP Rocket thì họ làm ngày càng tốt hơn, càng ít lỗi và ổn định hơn 😀
Chốt lại thì như mình vẫn hay nói, hiện tại mình chỉ recommend dùng WP Rocket và Rocket-Nginx để cache cho Wordpress 😀
Để chạy đc lệnh: git clone https://github.com/maximejobin/rocket-nginx.git thì mình fai cài Git theo hướng dẫn này hả bạn? https://www.digitalocean.com/community/tutorials/how-to-install-git-on-centos-7
Chạy như họ hướng dẫn: https://github.com/maximejobin/rocket-nginx
Để chạy đc lệnh Git clone thì fai cài git, vậy cho mình hỏi, sau khi chạy xong, mình xóa remove git được k ? Vì mình lỡ cài bản cũ quá 1.8, mà giờ nó 2.17 luôn rồi, tìm cách update mà k đc.
Dùng VPS, nắm quyền root rồi thì làm gì mà không được bạn 😀
Lệnh gì không rõ thì cứ hỏi cụ google tí là xong cả ấy mừ ^_^
Có bắt buộc phải cài mục crontab không bác? Nãy giờ đọc hết 1 đống bài tối ưu của bác hoa cả mắt.
Em đang cần tối ưu site flatsome bán hàng woocommerce mà thấy càng ngày càng chậm nên em đọc bài của bác thì sẽ tối ưu như này bác xem được không:
+ Site : Cài Fast Velocity Minify + wp rocket + Rocket-Nginx + SuperSonic + Jetpack
+ CDN: Cloudflare
Khi dùng Rocket-Nginx là nó đi thẳng NGINX → Static file, nghĩa là không thông qua WordPress, có điều sử dụng WP Rocket mình vẫn bỏ qua phần shop, admin … không cache nên thực tế bạn có vào phần admin hay có khách vào site ở phần shop thì cron vẫn chạy 😀
Thực tế dùng linux cron thêm có 1 dòng code trên VPS, 1 dòng trong file config của WordPress thôi mà 😀 đâu mất bao nhiêu thời gian
Wp rocket + Rocket-Nginx + SuperSonic: 3 cái này cài cùng lúc mình không chắc là chạy có xung đột không nhé :]]
Shop thì mình thấy cài mỗi WP Rocket là đã dư thừa 😛 Rocket-Nginx cũng chỉ là dành cho site nào thật bự, liên tục quá tải thôi, trong các bài test của mình, cài WP Rocket vào là đã đủ đáp ứng 1000 người views cùng lúc, tạo order đơn hàng thì thú thực chưa có điều kiện test xem thử bao nhiêu người order cùng lúc thì tạch :]] vì bước này thì gần như không thể cache mà phải để VPS chạy trực tiếp, mình nghĩ 1 con VPS 512 MB RAM bèo bèo cũng có thể chịu tầm 20-50 người vào mua hàng cùng lúc rồi
Rocket-Nginx thực tế dành cho bạn nào cuồng hiệu năng kiểu mềnh thôi, có cài Fast Velocity Minify + Jetpack + WP Rocket là VPS đã được giảm tải nhiều lắm rồi, quá đủ hiệu quả 😛
Hiên tại thì em 2 có 2 vấn đề phát sinh: 1 là lỗi về UX Builder của flatsome, sửa ngoài trang chủ mà nó cứ quay quay không ra, 2 là có cách nào khi login thì ra xem các trang không bị cache không bác? Nhờ bác chỉ dạy! <3
99% liên quan tới Fast Velocity Minify :]]
Tắt thử nó đi, clear hết cache load lại coi phải không đã 😀
Trong Fast Velocity Minify có tính năng Fix Page Editors, bật nó lên để kiểm tra lỗi
1 trình duyệt login vào admin và 1 trình duyệt để thường, nhìn xem có phần vào login bằng admin thì hiện bình thường mà phía bên trình duyệt guest không hiện ra không?
Chạy nhẹ một hồi là biết vấn đề do đâu thôi 😛
Hehe, sau khi tìm hiểu thì xác nhận lại với bác là 100% do thằng supersonic nhé 😀
Wp rocket + Rocket-Nginx + SuperSonic: chạy cả 3 thèng mà không gây lỗi à?
Rocket-Nginx em không cài được vì hiện tại cái web cần thì nó đang chạy trên host share , còn mấy cái tối ưu này em sẽ áp dụng trên vps riêng sau 😀
Thế cái mỗi WP Rocket là đủ rồi 😀
Mà thời buổi nào rồi còn xài host share thế 🙁
Hx, cái đó của công ty em không can thiệp được chứ vps giờ cũng rẻ, hết tháng này em cũng phải chuyển vps có vẻ con upcloud cũng ngon bổ rẻ bác nhỉ 😀
UpCloud độc thôi, Việt Nam không rõ có ông nào dùng chưa vì bọn này chuyên cho khách Euro :]]
Dùng thì thực tế lâu dài mới biết, trang cần sự ổn định lâu dài ít phải nghĩ thì Vultr vẫn lành nhất 😀
Đọc thấy wprocket nghe mà ham… search thấy plugin trả phí.. nên thôi…39$/năm
:(:(:(
Có rất nhiều sản phẩm cache miễn phí thuần túy hiệu năng thì như nhau cả, chẳng hạn như Cache Enabler của KeyCDN, bạn thêm phần config Nginx cho nó thì cơ bản cũng chẳng khác gì WP Rocket Và Rocket-Nginx (trừ tính năng preload), tuy thế các bản miễn phí tác giả gần như ít update, support và hỗ trợ thêm cho các plugin khác
WP Rocket thì bạn có thể dùng chung các bản license INFINITE, không giới hạn website, giá đâu đó 50.000 vnđ thôi ? (không kiếm ai đó xin về dùng là được)
Chạy cronjob trước khi cài rocket nginx thì chỉ cần ssh vào rồi gõ lệnh như này là xong đúng ko? */15 * * * * wget -q -O – http://www.website.com/wp-cron.php?doing_wp_cron &>/dev/null
hay có cần cd tới thư mục nào không bạn? mình không rành bạn hướng dẫn cụ thể chỗ này cho mình được không? cảm ơn nhiều lắm
Trong bài viết mình có link tới bài về cronjob rồi mà nhỉ (https://bibica.net/toi-uu-wp-cron-bang-wp-crontrol-va-linuxs-cronjob/)
thanks bạn, mình không biết có bài đó =)), để mình vào xem.
Trong bài mình có link tới rồi còn gì (https://imgur.com/rINuDK5)
mình làm theo hướng dẫn rồi, có cách nào check xem nó có hoạt động hay không vậy? với lại cho mình hỏi sao mình truy cập website.com/phpmyadmin không được, mình dùng webinoly theo sự hướng dẫn của bạn.
Cài vào là được rồi 😀
phpmyadmin thì mặc định nó ở phần website.com:22222, vào đó điều user + pass login vào mới thấy
mình vào link cổng 22222 không có gì cả
Thế vào đây hỏi (https://webinoly.com/support/)
anh cho em hỏi là 3 cái wp-rocket, fast volocity minify, và cloudflare, mình nên sử dụng như thế nào để tối ưu nhất ạ????
Bạn có thể tham khảo bài này (https://bibica.net/tang-toc-toi-uu-hoa-cho-wordpress/)
Mình làm theo hướng dẫn cài Rocket-Nginx đầy đủ cả, nhưng không hiểu sao mình kiểm tra header thì X-Rocket-Nginx-Serving-Static: NO
Chứ không phải YES như bạn, bạn có biết tại sao không 🙁
X-Rocket-Nginx-Serving-Static: NO là Rocket Nginx không thấy file html trên thư mục, F5 lại 1 phát là thành YES mà 😀
Mình f5 rất nhiều nhưng vẫn không được, vào wp-content/cache/… thì vẫn có folder cache html đầy đủ. Không biết có sai hay thiếu chổ nào không mà lại không nhận được 🙁
Có khi nào đang xem bằng tài khoản admin hay user khác không đấy?
Mình không, mình dùng chế độ ẩn danh igconito mà, ngoài ra để chắc ăn còn tạo profile chrome mới để test nữa :(, không log admin.
Làm theo từng bước rồi báo cáo kết quả từng chỗ
Vào trang web:
1. Ctrl + U xem source code, cuối trang nó sẽ có dòng “Performance optimized by WP Rocket”
-> Có thấy dòng này không?
Nếu có làm bước 2, nếu không có F5 cho có
2. Tiếp theo F12 để nhìn tình trạng X-Rocket-Nginx-Serving-Static
YES là đúng
Tổng thể chỉ thế 😀
Bước 1: có thấy dòng đó.
Bước 2: Tình trạng là NO 🙁
P/S: Ở cái hướng dẫn HSTS cho domain của bạn mình làm theo nhưng nó báo lỗi thế này:
Error: No preload directive
The header must contain the `preload` directive.
Thử trên trang nào thế ạ? Mình vào xem cho cụ thể xem nào 😀
nó lại bình thường rồi bibica ạ, web là https://teeqq.com
nhưng mình đang gặp phải lỗi bị load 2 lần cái vary: Accept-Encoding
bibica vào web mình check ở header mà xem, có cách gì sửa không ạ?
Mình xem thì thấy 1 bên .htaccess nó load 1 accept-encoding, bên nginx thì load cái accept-encoding, cookie 🙁
Giúp mình với
Vào /etc/nginx/common/headers-https.conf nó có thêm dòng add_header Strict-Transport-Security “max-age=31536000”;
Sửa lại thành giống như trong bài rồi reload lại Nginx là được
Mình làm được rồi, cám ơn bibica nhé, website của bạn bổ ích quá, giúp mình rất nhiều, bạn cũng nhiệt tình nữa.
Mình thử vài như bạn nói, bạn đầu thì nó cũng X-Rocket-Nginx-Serving-Static: Yes. Sau đó 1 hôm thì X-Rocket-Nginx-Serving-Static: No hết :)), check bên trong file html được tạo đủ, không hiểu tại sao luôn.
Xem trong comment ngay dưới của bạn Minh xem có giống thế không 😀
Mình mở ẩn danh không đăng nhập mà 🙁
F5 lại coi có YES không 😀
Từ F5 đến Preload đều không nhận 🙁
Ctrl + U xem có cache chưa?
Chứ thèng X-Rocket-Nginx nó chỉ đơn thuần thấy file cache thì nó load ra thôi, chứ nó chẳng làm gì cả 😀
Mình xoá hết toàn bộ cache đi Preload lại thì nó mới ra(dù trước đó nó đã có cache rồi). Chắc là thôi, nhanh hơn vài chục ms chắc cũng không quan trọng lắm đâu 😀
Mình cũng bị lỗi y hệt bạn Đạo Nguyễn, load lần đầu tiên thì YES, nhưng khi F5 lại thành NO? Có làm sao không vậy bibica 🙁
Kiểm tra đơn giản thì vào site, không login admin
Ctrl + U xem source code, cuối trang nó sẽ có dòng “Performance optimized by WP Rocket”
Ok, lúc này xác định là đã WP Rocket đang chạy
Tiếp theo F12 để nhìn tình trạng X-Rocket-Nginx-Serving-Static
Yes là đang chạy trực tiếp NGINX → Static file
No là chạy NGINX → PHP-FPM → PHP (WP-Rocket) → Static file
Giá trị cần quan tâm ở đây là tốc độ và độ chịu tải, dùng thêm Rocket Nginx mục đích chính để tăng độ chịu tải, còn thuần WP Rocket là để tăng tốc độ truy cập
Lý thuyết config tốt nhất khi dùng WP Rocket + Rocket Nginx là giá trị TTFB bạn thấy nó phải ~ giá trị khi bạn ping tới IP của host (hoặc cao hơn ~ 20ms) 😀
Kiểu bạn ping tới site là 3x ms, thì TTFB tầm 4x-5x ms là đạt 😛
Mình test ở guest mode và chế độ ẩn danh đều bị NO ở lần F5 đầu tiên hay chuyển trang tiếp theo. Khi vào web lần đầu tiên thì báo YES, thế mới lạ ấy chứ, check ở bibica lúc nào cũng báo YES hết nên nghĩ nó lỗi ở đâu đó, mình lại không muốn có cái khúc mắc như thế 🙁
Làm theo các bước ở trên đi đã 😀
Mình làm hết rồi mới hỏi bạn mà, cơ mà mình mới test lung tung thêm 1 lúc thì thấy 1 số trang được 1 số trang lại không, chả hiểu sao.
Nãy giờ mình chỉ thấy bạn nói NO, chứ chẳng dòng nào bạn nói là đã kiểm tra coi WP Rocket chạy chưa đã?
Nguyên tắc làm việc của nó là người đầu tiên vào trang nó mới tạo cache trang đó, có cache rồi thì mới nói tới status YES hay NO, preload giúp tạo trước cache, nhưng không hẳn 100% lúc nào nó cũng tạo ra trước cả
Nhất là các trang có tính tương tác cao, kiểu cứ có 1 comment mới nó sẽ tự xóa hết cache, preload lại từ đầu, và việc preload liên tục cũng khá dễ bị miss cache
Vào trang lần đầu, thấy NO, ấn F5 lại ra YES là hợp lý, còn bạn nói vào trang lần đầu thấy YES, ấn F5 lại nó thành NO mới lạ thôi 😀
bibica ơi cho hỏi ngoài lề tí xíu, mình có chạy thêm cái đoạn code này để block upload file .php lên thư mục upload:
location ~* /(?:uploads|files)/.*.php$ {
deny all;
access_log off;
log_not_found off;
}
Nhưng mình không biết nó có hoạt động không, có cách nào để test thử xem nó có hoạt động không ạ 🙁
Thì cứ upload 1 file .php vào, xong chạy thử từ trình duyệt xem nó chạy không 😀
À há, được rồi nè, cám ơn bibica nhé =)) thích quá
Hix thêm 1 câu hỏi ngu nữa, mình disable php ở mấy thư mục upload với wp-content như trên mạng hướng dẫn, không biết mấy file object-cache.php với advance-cache.php nó có hoạt động được không :(?
Mấy file đó nó nằm ở wp-content mà, có phải nằm ở thư mục upload đâu?
Cho mình hỏi mình cài ee3 php7 với redis cache.
Vậy mình có thể cài thêm wp-rocket + rocket-nginx không? Do website mình có jwplayer với toggle bằng js lúc sài wp-rocket tối ưu bị lỗi mất player với toggle.
Không biết là do ảnh hưởng của cache hay plugin,
Về WP Rocket, cụ thế thì cache là đủ, còn các bước ở Tab File Optimization mục đích là gom tất cả file css, js thành 1 file, thời http đa phần nó giới hạn request, load tuần tự ra nên làm thế có hiệu quả, còn giờ đa phần sang https, chạy h2 cả, gần như nó load tất cả file cùng lúc, nên gom file thế cũng không hiệu quả, trong bài hình như mình cũng ghi cụ thể lý do rồi mà ta?
Còn bạn thích gom thì cũng dễ mà, cứ chạy thấy cái gì bị lỗi, như jwplayer lỗi thì xem cái file js, css jwplayer là gì, cho nó vào Tab Advanced Rules để nó khỏi gom vào là được
Về cache thì mình cũng nói nhiều rồi, WP Rocket + Rocket-Nginx đơn giản, dễ sử dụng và nó chịu tải sơ sơ 1000 client mỗi giây như ăn kẹo, max speed, thế thì bạn việc gì phải đi tìm hiểu mấy cái cache khác như redis làm gì nữa?
Cache tầng cao hơn nó có hàng tấn vấn đề cần ngồi xử lý, và cái quan trọng nhất là sử lý xong hết thì hiệu quả bạn cũng chẳng thấy được 😀 có bao nhiêu trang có hơn 1000 người online mỗi giây đâu 😀
Bài viết này, mình đã viết theo hướng đơn giản và hiệu quả nhất, bất cứ ai đọc, làm theo thì sẽ chạy ổn
WP Rocket chỉ cache cái trang thành file html, Rocket Nginx nó load tiếp cái file html đó thẳng từ Nginx
Tất cả chỉ thế 😛
Chào Admin,
Không biết em làm đủ kiểu mà nó vẫn bị vậy
X-Rocket-Nginx-Serving-Static: No
Mong admin chỉ bảo
Kéo xún đọc các comment dưới làm theo thử xem 😀
Phần add-on trên wp rocket cho google analytics và facebook pixel không biết nó hoạt động như thế nào vậy ad? Có thể hướng dẫn giúp mình ko vì mình đang dùng wp rocket nhưng mà ko biết tối ưu những cái này
Tổng thể google analytics và facebook pixel sử dụng request từ google và facebook (dạng https://connect.facebook.net/) , giờ WP Rocket xử lý cho load cái request đó từ server của bạn (https://docs.wp-rocket.me/article/1117-facebook-pixel-add-on)
Thiếu chỉnh crobjob rồi anh ơi ????
Trong bài có nói rồi mà ta 😀
em config không được anh ạ! cái header nó cứ bảo là “No” mà rõ ràng em config theo bài của anh + github của rocket-nginx rồi mà vẫn không được 🙁 có khi nào phải chỉnh cái default.conf không
Copy lại ở dưới này 😀
——————
Kiểm tra đơn giản thì vào site, không login admin
Ctrl + U xem source code, cuối trang nó sẽ có dòng “Performance optimized by WP Rocket”
Ok, lúc này xác định là đã WP Rocket đang chạy
Tiếp theo F12 để nhìn tình trạng X-Rocket-Nginx-Serving-Static
Yes là đang chạy trực tiếp NGINX → Static file
No là chạy NGINX → PHP-FPM → PHP (WP-Rocket) → Static file
Giá trị cần quan tâm ở đây là tốc độ và độ chịu tải, dùng thêm Rocket Nginx mục đích chính để tăng độ chịu tải, còn thuần WP Rocket là để tăng tốc độ truy cập
Lý thuyết config tốt nhất khi dùng WP Rocket + Rocket Nginx là giá trị TTFB bạn thấy nó phải ~ giá trị khi bạn ping tới IP của host (hoặc cao hơn ~ 20ms) ????
Kiểu bạn ping tới site là 3x ms, thì TTFB tầm 4x-5x ms là đạt ????
———————-
em không rõ nữa vì em kiểm tra header thấy
rocket-nginx service static gì đó báo No
còn ping website của em tầm 20ms.
Cho mình hỏi, mình có sử dụng vpssim và cài đặt wp rocket. mình thấy trong vpssim có chức năng cấu hình vhost cho plugin cache. có phải chính là cái Rocket-Nginx trong bài ad đang nói không ạ?
# Rule cho wordpress + WP-Rocket. Neu ban su dung wordpress va WP-Rocket, uncomment dong duoi va comment dong AAA phia tren. (EEE)
#include /etc/nginx/conf/wprocket.conf;
Mở file wprocket.conf ra nhìn xem phải không 😀
Đúng chuẩn rồi. cảm ơn bibica nhé!
Mọi người cho Vân hỏi, site Vân bị tình trạng trên máy tính Vân thì không vào được, nhưng nhờ bạn bè vào trên máy họ thì được, trên điện thoại cũng vào được, chỉ máy bàn là không vào được,
Các bạn biết khách khắc phục hướng dẫn giúp Vân.
Vân dùng centminmod và Rocket Nginx như hướng dẫn của bibica 🙁
Thử bật trình duyệt lên, vào bằng chế độ ẩn danh xem thế nào (Ctrl + Shift + N)?
Vân đã thử nhưng vẫn không được,
kiểm tra csf cũng không thấy bị block ip
🙁
bạn sử dụng redis cache đúng không?
không, Vân dùng wp-rocket
redis cache là phía server-side mà bạn, lúc cài centmin có chọn lựa 3 kiểu cache, bạn chọn option mấy? chọn 2 là redis cache đó, nếu đúng thì lỗi này do redis cache, flush cache đi rồi reboot lại server là được.
Trang gì thế ạ? Mình vào xem thử?
https://vanmiubeauty.com/
Các bạn kiểm tra giúp Vân thử :(, vì các máy khác đều vào được, chỉ có máy bàn của mình không vào được. kỳ lạ.
Vào bình thường, chỉ có mấy icon không hiện ra đúng thôi 😀
Hồi anh cài rocket nginx theo cách trên với Centminmod sao nó hoạt đông được :)) vì cache nó lưu một nơi khác nhau, cái header debug nó phải báo là false với những trang khác homepage chứ nhỉ?
Chạy bình thường 😀
nếu làm đúng như cách của anh bảo trên là được được. Anh bảo được thì em chịu rồi @@ Mà lúc anh cài có setting cùng với WP Super cache không thế ???? ?
Rocket-Nginx nó là 1 addon nhỏ cho WP Rocket, vác nó dùng cho thèng khác rồi nói không chạy là làm sao? (https://bibica.net/wp-rocket-va-rocket-nginx/)
khi cài cùng Centmin thì add vhost nó có thêm option cài cùng plugin cache. Còn nếu như cách anh bảo trên thì ngoài trang chủ ra thì các trang POST bình thường với config của Centmin thì làm sao nó chạy được nhỉ ????
Không hiểu lắm 😀
Mặc định Centminmod khi cài nó có đâu 3 option sẵn để cache, chọn cái nào thì thèng tác giả include 1 dòng 1 code, có tác dụng tương tự kiểu của Rocket-Nginx, là load trực tiếp file cache html ra bằng Nginx
Còn thích dùng plugin cache khác, như ở đây là WP Rocket và Rocket-Nginx thì xóa dòng include cũ trong file config domain là được, mà mình nhớ không xóa nó cũng chạy tốt cả mà, có vấn đề gì nhỉ?
nếu anh không thay cái giá trị try_files $uri $uri trong file conf thì làm sao server nó biết mà dùng cache được anh. Vì anh bảo nó vãn chạy được nên thấy lạ ????
Làm y như bài này thì …. chạy bình thường thôi mà
Em thấy bên forum Centminmod cũng báo bị trường hợp cái này không hoạt động. Bên họ bảo comment hết các plugin caching khác và uncomment phần Wordpress Permalink trong file .conf và đổi thành
# Wordpress Permalinks
try_files $uri $uri/ /index.php?$args;
Em hiện tại thấy có vẻ hoạt động tốt.
Thì chạy tốt mà :]]
thì em đang bảo hình như anh thiếu phần cấu hình đấy chứ sao :]] Với em thì làm như trên cache toàn bị miss (dù đã thử tất cả cách comment phía dưới.
Centminmod tác giả viết tốt, thậm chí cực tốt, nhưng cần nhiều kiến thức để dùng, và mình chẳng recommend ai vào bibica.net dùng Centminmod cả 😀
Được mấy người dùng cuối hiểu Centminmod khi cài mặc định họ tự thêm phần load cache từ Nginx đâu
Dùng Webinoly chạy cho nhàn chứ dùng Centminmod làm gì để rồi cứ vài hôm lại gào là không chạy rồi lỗi này lỗi nọ?
Em góp ý bài viết thôi mà có gì đâu anh? Còn em theo dõi bài của anh thì nếu anh tiện test thử luôn xem được không thì hoàn thành bài viết. Còn nếu không thích anh có thể bỏ qua mà ????
Bài khi được viết là làm đồng thời với test rồi mà 😀
Mình cài như hướng dẫn, chạy 1 năm nay cache bình thường. Hôm nay kiểm tra thì cache không hoạt động, trên folder cache đã có file cache dưới dạng .html .zip. Nhưng load trang web vẫn không được cache. Mong bạn chỉ giáo lỗi.
Trang web mình
https://www.phimconggiao.com
Thấy chạy bình thường mà nhỉ
Ý là nó ko cache trang web đó bạn. Còn web vẫn chạy bình thường. Mình dùng VPS chạy Nginx
Ctrl + U, nhìn cuối trang là thấy, cache bình thường mà 😀
Bạn ơi bạn có thể share cho mình bản WP Rocket ko?, mình muốn dùng thử trước để test xem sao rồi sẽ quyết định mua. cảm ơn bạn!
Không ạ 😀
Mình cài cho https://developers.doligo.net/
thêm dòng này include /usr/local/etc/rocket-nginx/default.conf;
Thì nó báo X-Rocket-Nginx-Serving-Static: No thì khắc phục như nào nhỉ
thấy nó load chậm hơi ấy
Tham khảo các comment …. bên dưới
Mình đang xài vpssim, có thể cài thêm Rocket Nginx dc ko bác ??
Cài bình thường thôi mà 😀
Mình xài vpssim, vậy sau khi cài RocketNginx thì mình uncomment dòng load file conf của vpssim cho wprocket hả bác
Mà theo mình nhớ, cách đây hơn nửa năm gì đó, vpssim đã tích hợp RocketNginx vào rồi mà
https://vpssim.vn/4885-huong-dan-config-vhost-de-wordpress-blog-co-su-dung-plugin-wp-rocket-tren-vpssim.html
bác bibica ơi, rãnh xài thử cái 1click OpenLiteSpeed rồi review cho ae thử xem.
https://openlitespeed.org/#install
Chờ bài review của bác
Từ khi Cloudflare có server tại Việt Nam, tất cả các hình thức tăng tốc, tối ưu, nó gần như chỉ là vẽ vời, màu mè, không còn ý nghĩa nữa rồi
Chọn 1 dịch vụ hostting có downtime thấp, sau đó làm na ná theo bài là đủ (https://bibica.net/tang-toc-toi-uu-hoa-cho-wordpress/)
Nó đáp ứng được tiêu chí nhanh và chịu tải tốt rồi, thực tế bạn cũng có thể test ngay trên thèng bibica.net, 1 trang đang dùng hosting … US mà ở VN load vẫn ào ào cả đấy thôi 😛