Mình từng dùng Amazon Lightsail vài năm, rất hài lòng, cụm server Singapore của họ, có thể nói là đứng đầu thế giới về giá cả ($3.5) và uptime (~100%), phàn nàn duy nhất có lẽ là tốc độ ổ cứng hơi chậm
Sau chuyển sang UpCloud vì bên đi vì Amazon Lightsail hết tiền 😛
Dùng UpCloud cụm server Sing giai đoạn mình dùng thì hơi nát, lâu lâu downtime, với dù là server Sing mà Việt Nam thi thoảng truy cập cũng chậm
Sau đổi sang UpCloud cụm server San Jose, California thì rất hài lòng, uptime gần như 100% trong khoảng 3 năm nay, tất nhiên, bên UpCloud thì mình vẫn còn đủ tiền, để có thể duy trì bibica.net thêm khoảng vài năm
Cá nhân mình vẫn mong muốn 1 dịch vụ …. FREE ổn định, vì thèng bibica.net nó cũng chỉ là 1 blog cá nhân, có khi 6-8 tháng mình còn không nhìn, nên cũng không muốn tốn tiền hàng tháng nhiều quá 😛
Quan trọng nhất là tổng dung lượng ổ cứng thèng bibica.net dùng thực tế chỉ khoảng 2GB, băng thông hàng tháng thì không tới 1Gb, 1 ngày cao lắm tầm 50 khách vào, đa phần 1 ngày chỉ 3-10 khách 😛 dùng các dịch vụ trả phí, băng thông toàn kiểu 1TB, cảm giác nó xa sỉ, thừa mứa quá 😛
Các dịch vụ miễn phí của Google, Amazon, Microsoft mình từng dùng qua, thì đa phần chỉ cho dùng thử dưới 12 tháng, còn không thì lại đủ các phí ngầm khá phức tạp, nên mình bỏ qua
Ngồi 1 hồi thì sực nhớ ngày xưa bên VOZ, bà kon kháo nhau Oracle cũng có gói Always Free, nên tím hiểu thử xem thế nào
Oracle tạm mình xem lướt thì gói VM.Standard.A1.Flex sẽ bị xóa sau 30 ngày, muốn dùng tiếp thì phải cài lại, gói VM.Standard.E2.1.Micro đang không giới hạn thời gian sử dụng???
Warning
Unpaid Free Tier accounts only. Idle Always Free resources for unpaid Free Tier accounts can be reclaimed at any time, without notice. Reclaiming includes actions such as stopping or terminating.
Oracle lại thòng thêm 1 câu là có thể xóa các tài khoản Always Free ở những khách hàng sử dụng miễn phí bất cứ khi nào họ thích 😀 đọc xong cũng khá là khó hiểu, Always Free nhưng lại thích xóa lúc nào thì xóa là sao nhỉ :((
Đăng kí tài khoản: Oracle Cloud Free
Việc đăng kí cơ bản tương tự với các dịch vụ khác, bạn cần 1 thẻ thanh toán quốc tế để có thể xác minh phần billing
Chú ý quan trọng nhất là tùy chọn Home Region (dễ hiểu là các cụm server), vì tùy chọn này không thể thay đổi sau khi tạo tài khoản
Bạn có thể chọn ở Singapore, South Korea, Japan để có tốc độ nhanh nhất về Việt Nam cũng được, cá nhân thì mình chọn cụm US West (San Jose) do vẫn tin tưởng các cụm location US về uptime hơn
Đăng kí xong thì thường mất tầm 5-15 phút để Oracle cài đặt mọi thứ hoàn chỉnh, bạn sẽ nhận được email thông báo khi tất cả mọi thứ sẵn sàng
Tạo máy ảo
Từ trang quản trị, bạn bấm vào mục Create a VM Instance
Placement
Để mặc định Availability domain:
Image and shape
Image: chọn CentOS 7
Shape: chọn VM.Standard.E2.1.Micro (1 core OCPU, 1 GB memory, 0.48 Gbps network bandwidth)
Lý do chọn gói thấp nhất VM.Standard.E2.1.Micro là vì CentOS cũng chỉ chạy trên gói này, phần vì gói VM.Standard.A1.Flex cấu hình cao hơn sẽ tự bị xóa sau 30 ngày
Networking
Để mặc định
Add SSH keys
Download 2 file private key và pulic key về máy
Boot volume
Để mặc định
Xong xuôi hết thì ta sẽ có các thông số cơ bản như trong hình, ấn vào Create ở cuối trang rồi chờ 1 chút để Oracle có thể kích hoạt máy ảo
Cấu Hình Tường lửa cho Máy ảo
Mặc định Oracle sẽ chặn tất cả kết nối đến máy ảo, ngoại trừ port 22 dành cho kết nối SSH, ta cần mở ra để có thể cài đặt các thứ khác
Ấn vào Subnet:
Ấn vào Default Security List for vcn-20221109-0948
Ấn vào Add Ingress Rules
- Souce CIDR: 0.0.0.0/0
- IP Protocol: All Protocol
Tùy chọn này là bạn đã mở tất cả các cổng trên VPS
Kết nối vào máy ảo
Sau khi tạo xong, chúng ta sẽ có các thông tin về VPS
Trong đó Private key và public key đã save về máy ở bước Add SSH keys
Có thể dùng Bitvise SSH Client để login, thông tin như Oracle cung cấp, add private key vào phần Client Key Manager
Làm xong cơ bản chúng ta sẽ có thông tin login trên Bitvise SSH Client như thế
Thêm quyền root cho VPS Oracle
sudo passwd root
(Điền mật khẩu và enter) – làm 2 lần để đổi password cho root
Tiếp theo gõ
sudo yum install nano -y sudo nano /etc/ssh/sshd_config
Thuộc tính PermitRootLogin no, bạn sửa lại là yes và phần PasswordAuthentication no, bạn sửa lại là yes
Nếu có dấu # đằng trước PermitRootLogin và PasswordAuthentication thì bỏ đi
Sau đó bấm Ctrl+O -> Enter -> Ctrl+X để save và exit.
Gõ tiếp lệnh sau để khởi động lại ssh:
sudo service sshd restart
Từ lúc này ta có thể login với quyền root và sử dụng password như thông thường
Chỉnh về múi giờ Việt Nam
timedatectl set-timezone Asia/Ho_Chi_Minh
Type “date” để kiểm tra lại ngày tháng xem về đúng giờ Việt Nam chưa là được ????
Tăng Thời Gian Kết Nối SSH
Chưa rõ tại sao mặc định Oracle set thời gian kết nối hơi ngắn, tăng thêm 1 xíu dùng cho thoải mái
nano /etc/ssh/sshd_config
Thêm vào dòng dưới cùng đoạn code sau:
ClientAliveInterval 7200
7200 là thời gian chờ tầm 2h.
Sau đó bấm Ctrl+O -> Enter -> Ctrl+X để save và exit.
Khởi động lại ssh:
sudo service sshd restart
Cài Đặt Centmin Mod
yum -y update; curl -O https://centminmod.com/installer.sh && chmod 0700 installer.sh && bash installer.sh
Do mình chọn phiên bản VM.Standard.E2.1.Micro nên phần cứng rất phò, tốc độ ổ cứng rất chậm, giai đoạn cài đặt thấy con VPS gồng gánh toàn kiểu 100% load tội lắm 😀
Total Curl Installer YUM or DNF Time: 332.0621 seconds Total YUM Time: 25.188021274 seconds Total YUM or DNF + Source Download Time: 86.1684 Total Nginx First Time Install Time: 1572.7268 Total PHP First Time Install Time: 1834.2685 Download From Github Time: 2.6362 Total Time Other eg. source compiles: 1045.6133 Total Centmin Mod Install Time: 4538.7770
Cài đặt hoàn chỉnh mất 4538s ~ 76 phút thì đúng là tốc độ ổ cứng của VM.Standard.E2.1.Micro chậm thật
Cài xong xuôi thì type thêm dòng bên dưới để vào bảng điều khiển của Centmin Mod
centmin
Nhập email vào để Centmin Mod hoàn thành các bước cài đặt sau cùng
Bước này cũng hơi lâu 1 tí, xong xuôi thì bạn type “24” để thoát bảng điền khiển của Centmin Mod
Nếu sau khi ấn “24” để thoát ra ngoài mà bạn nó quay lại bảng điều khiển thì type lại “24” để thoát (lần đầu cài đặt nó hay bị thế)
Tiếp theo gõ lệnh reboot để khởi động lại VPS
reboot
Kiểm Tra Lại Các Phiên Bản
php -v nginx -V
PHP 7.4.33 (cli) (built: Nov 9 2022 08:46:22) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies nginx version: nginx/1.23.2 (091122-080520-centos7-kvm-c1bd1fe) built by gcc 10.2.1 20210130 (Red Hat 10.2.1-11) (GCC) built with OpenSSL 1.1.1s 1 Nov 2022 TLS SNI support enabled
PHP 7.4.33, nginx/1.23.2, gcc 10.2.1 20210130, các phiên bản đều khá mới, chung quy đoạn kiểm tra này cho vui mồm là chính, chứ mọi thứ mặc định trên Centmin Mod đều đã được
Cấu Hình Centmin Mod
Cài thêm htop, zip, unzip
yum install htop -y yum install zip -y yum install unzip -y
Về cơ bản cấu hình server mới là như thế, giờ ta sẽ backup, restore bibica.net từ Upload sang Oracle
Backup data bằng Duplicator Pro từ server cũ
Download 2 file archive.zip và installer.php về
tạo 1 bản Wordpress cho domain bibica.net (sử dụng lệnh 22)
Xong xuôi thì vào thư mục cài đặt domain của bibica.net bằng lệnh cd
cd /var/www/html
Chép file wp-config.php về máy để coi info database xong rồi xóa tất cả các file và thư mục có sẵn:
rm -rf *
Chép 2 file archive.zip và installer.php được tạo ra bởi Duplicator Pro (lấy ở bước trên) vào thư mục /home/nginx/domains/bibica.net/public
Tốc độ upload bằng đường truyền VNPT cũng được ~ 2.5 Mb/s, không quá tệ cho 1 cụm server US 😛
Cấu hình SSL signed by Cloudflare
Chép 2 file bibica.net.key và bibica.net.pem trong thư mực /root/ssl/ ở server cũ sang server mới
sudo nano /usr/local/nginx/conf/conf.d/bibica.net.conf
Thêm dòng bên dưới trong server {}
listen 443; ssl on; ssl_certificate /root/ssl/bibica.net.pem; ssl_certificate_key /root/ssl/bibica.net.key;
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
Setup tạm trên Windowns (localhost)
Trước đây, khi thèng bibica.net chưa dùng HSTS thì có thể sửa file hosts trên windows để truy cập ảo từ localhost, mà giờ làm thế nó văng lỗi liên quan tới ssl búa xua 😀
Giờ phải đổi DNS, trỏ về IP mới, xong setup trực tiếp 🙁
Chạy installer.php để Duplicator Pro restore lại bibica.net, info database thì mở file wp-config.php nãy chép về ra xem
Vậy là cơ bản bạn đã restore lại thèng bibica.net cũ xong rồi, tiếp theo thì config lại ít thứ liên quan tới trang nó
Bật Shell_exec Trên Centmin Mod
Mặc định, Centmin Mod tắt shell_exec vì lý do an toàn, tuy thế dùng VPS riêng, cá nhân mình nghĩ không thành vấn đề, Duplicator Pro và rất nhiều plugin hay script khác cần quyền này để có thể chạy, EE hay Webinoly đều bật shell_exec chạy cả thôi
sudo nano /usr/local/etc/php-fpm.conf
tìm tới dòng cuối sẽ thấy
php_admin_value[disable_functions] = shell_exec
Xóa phần shell_exec đi
php_admin_value[disable_functions] =
Sau đó bấm Ctrl+O -> Enter -> Ctrl+X để save và exit.
Khởi động lại php để thay đổi có hiệu lực
service php-fpm restart
Thiết Lập Một Cronjob Thực Từ Linux’s
crontab -e
Set chạy 1 phút 1 lần cho wp-cron
*/1 * * * * curl https://bibica.net/wp-cron.php?doing_wp_cron > /dev/null 2>&1
Sau đó bấm Ctrl+O -> Enter -> Ctrl+X để save và exit.
Kiểm tra tốc độ truy cập thực tế khi sử dụng
Truy cập lần đầu vào bibica.net ~ 2.4s, F5 lại lần 2 thì ~ 0.6s
Tốc độ khi lần đầu tiên vào theo mình hơi chậm
Thử truy cập vào bài có nhiều hình ảnh nhất thì ~4s để load xong hoàn toàn, các bài viết khác cũng loanh quanh từ 1->4s, tốc độ cũng khá chậm
Thử phần email contact thì ấn phát là có email, nhưng phần comment của khách, thì sau 1-2 phút mới thấy email, bên UpCloud comment của khách email được gửi tức thời, thời gian gửi email hơi chậm nhưng có thể cho qua
Tốc độ truy cập thực tế thì theo mình cũng được, nhanh hay chậm ít giây không quá đáng kể khi đọc bài
Kiểm tra tốc độ truy cập khi backup hệ thống
Mặc định thì mình set Duplicator Pro cứ đúng 0h mỗi ngày, sẽ tự backup, sau đó chuyển data sang Google Drive, dựa vào hình ảnh các log cũ, bạn có thể thấy đa phần đúng 0h hoặc 0h1p ở server UpCloud đã làm xong tất cả công đoạn này, bên Oracle thì chỉ backup không đã mất gần …. 20 phút 😀 transferring to Google Drive mất thêm 15 phút vẫn thấy chưa xong thì mình thấy khoản này nát quá, tắt luôn, mà để chắc cú mình vào lại server UpCloud thử backup, mất tầm 2 phút là xong rồi
Quan trọng nhất là lúc nó backup và transferring, gần như sử dụng 100% CPU, nếu khách truy cập vào site lúc này, cần 10-25s mới có thể lết nổi :]]
VM.Standard.E2.1.Micro của Oracle thực sự tệ nếu bạn có nhu cầu backup data nhiều 😀
Kết luận
Với cấu hình thấp nhất của gói Oracle Cloud Always Free VM.Standard.E2.1.Micro, gần như không thể sử dụng bình thường cho một trang web đang vận hành, nó chỉ có chút tác dụng khi bạn sử dụng như 1 hình thức localhost, test tính năng này nọ trước khi làm sang trang chính, hoặc dùng như 1 trang sơ cua ….. mà kể cả có thể vụ Oracle vui vui là xóa cũng khiến không ai đám dùng gói Always Free của họ lâu dài 😀
Nói chung giải pháp dùng Oracle Cloud Always Free cho thèng bibica.net toang hẳn :]]
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ị!