Cài đặt Oracle E2.1.Micro làm cache warmer

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à đủ 😀

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback.
Notes: However, those deemed to be spam or solely promotional will be deleted.

You can create a Gravatar account, add avatar, then use that email to comment here, your account will have a more beautiful Avatar, easier to recognize with other members.

Please use real emails, you can receive notifications when comments are replied