Nhân dịp dùng lại Oracle US West, đôi lúc cảm giác hơi chậm, do các bài viết và ảnh chưa được cache (hoặc cache bị Cloudflare xóa …), rỗi rãi dùng 1 con VPS E2.1.Micro thừa để chạy sitemap warmer, cố gắng tận dụng mọi thứ miễn phí được Oracle cung cấp 😛
Cấu hình VPS
Bạn thích dùng OS nào cũng được, có điều mình thích và quen thuộc Ubuntu hơn, các câu lệnh bên dưới đều dựa trên Ubuntu
- Cập nhập OS -> set locale -> tắt firewall -> set time Việt Nam -> tạo swap 4GB RAM -> bật BBR -> Bypass Oracle VM.Standard.E2.1.Micro
#!/bin/bash # cập nhập OS sudo apt update && sudo apt upgrade -y # set locale locale-gen en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 # Tắt Firewall sudo apt remove iptables-persistent -y sudo ufw disable sudo iptables -F # Chỉnh về múi giờ Việt Nam timedatectl set-timezone Asia/Ho_Chi_Minh # Tạo swap 4GB RAM sudo fallocate -l 4G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile && echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab cat <<EOF > /etc/sysctl.d/99-xs-swappiness.conf vm.swappiness=10 EOF # Enable TCP BBR congestion control cat <<EOF > /etc/sysctl.conf net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr EOF # Bypass Oracle VM.Standard.E2.1.Micro sudo wget --no-check-certificate https://raw.githubusercontent.com/bibicadotnet/NeverIdle-Oracle/master/VM.Standard.E2.1.Micro.sh -O /usr/local/bin/bypass_oracle.sh chmod +x /usr/local/bin/bypass_oracle.sh nohup /usr/local/bin/bypass_oracle.sh >> ./out 2>&1 <&- & crontab -l > bypass_oracle echo "@reboot nohup /usr/local/bin/bypass_oracle.sh >> ./out 2>&1 <&- &" >> bypass_oracle crontab bypass_oracle
Cấu hình preload cloudflare cache
Đơn giản nhất thì có lẽ là preload, nó là 1 bash script được viết cách đây hơn 4 năm, nhưng vẫn đang chạy tốt, có cache trang và ảnh dựa theo status cache Cloudflare = HIT
Nó không warmer được link ảnh dạng <a href=, tốc độ chạy khá chậm, bù lại check cache HIT Cloudflare kĩ, vì nó check tới khi nào HIT mới chuyển sang trang khác (mặc định 10 lần)
Trước đây khi mình còn dùng Jetpack thì không hợp lắm, hiện tại mình chỉ dùng 1 ảnh full-size cho các ảnh trong bài viết, nên bản bash script này khá hợp
Bản bên dưới mình sửa lại 1 chút, để chạy liên tục 24/24, sau khi preload xong thì chạy lại từ đầu, khá là ngu học về mặt kĩ thuật, nếu xử lý chỉ chạy khi bạn clear cache trên trang thì hiệu quả hơn nhiều, mỗi cái khoản này mình chịu, không biết làm 😀
- Cài đặt đơn giản bằng cách copy từng dòng lệnh bên dưới
sudo wget --no-check-certificate https://raw.githubusercontent.com/bibicadotnet/preload-cloudflare-cache/main/precache.sh -O /usr/local/bin/precache_cloudflare.sh chmod +x /usr/local/bin/precache_cloudflare.sh crontab -l > precache_cloudflare echo "@reboot nohup /usr/local/bin/precache_cloudflare.sh >> ./out 2>&1 <&- &" >> precache_cloudflare crontab precache_cloudflare
- Tiếp theo:
nano /usr/local/bin/precache_cloudflare.sh
Thay dòng https://bibica.net/sitemap-post-type-post.xml
bằng đường dẫn sitemap của bạn vào
- Ctrl+O -> Enter -> Ctrl+X để save và exit.
Cách thức cache warmer như bài này tàn phá tài nguyên băng thông rất ngu học 😀 may mà Oracle cho miễn phí 10 TB mỗi tháng, nên cũng không cần nghĩ nhiều, cài 1 lần xong vứt đó để nó tự vận hành là đủ 😀
Chính sách bình luận: Chúng tôi rất trân trọng các bình luận của bạn và cảm ơn thời gian bạn dành để chia sẻ ý tưởng và phản hồi.
Ghi chú: Những bình luận được xác định là spam hoặc chỉ mang tính quảng cáo sẽ bị xóa.
• Để cải thiện trải nghiệm bình luận, chúng tôi khuyến khích bạn tạo một tài khoản Gravatar. Thêm avatar vào tài khoản Gravatar sẽ giúp bình luận của bạn dễ nhận diện hơn đối với các thành viên khác.
• ✂️ Sao chép và 📋 Dán Emoji 💪 giúp bình luận thêm sinh động và thú vị!