Dành cho bạn nào muốn tận dụng VPS Oracle Always Free để cài đặt Elasticsearch 😀
Tạo VPS Oracle bản miễn phí, Ubuntu 22.04
Ubuntu 22.04 Shape: VM.Standard.E2.1.MicroAlways Free-eligible OCPU count: 1 Memory (GB): 1 Network bandwidth (Gbps): 0.48
Mở Ingress Rules tất cả các port từ quản trị của Oracle
Login với quyền root
- Tạo swap thêm 4GB RAM
sudo fallocate -l 4G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile && sudo nano /etc/fstab
- Tiếp theo, bạn dán đoạn bên dưới vào cuối
/swapfile swap swap defaults 0 0
- Mở các port trên Ubuntu (dành riêng cho VPS Oracle)
sudo apt remove iptables-persistent -y && sudo ufw disable && sudo iptables -F
Cài Đặt Elasticsearch
- Cài đặt phiên bản 7.10.2
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - && echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list && sudo apt update && sudo apt install elasticsearch=7.10.2
Cấu hình Elasticsearch
- Cho phép Elasticsearch kết nối ra ngoài
sudo nano /etc/elasticsearch/elasticsearch.yml
- Thêm vào 3 dòng
network.host: 0.0.0.0 http.port: 9200 discovery.type: single-node
Ctrl+O -> Enter -> Ctrl+X để save và exit
- Kiểm tra các giá trị Xms Xmx
sudo nano /etc/elasticsearch/jvm.options
Nhìn xem có phải nó đang hiển thị mặc định 1G không
-Xms1G -Xms1G
Nếu thấy các con số khác thì đổi về 1G
- Tăng thời gian chờ
sudo nano /usr/lib/systemd/system/elasticsearch.service
Kéo xuống dưới, sẽ thấy TimeoutStartSec=75
Đổi sang con số cao hơn, có thể là TimeoutStartSec=750
- Bật tự khởi động Elasticsearch mỗi khi máy chủ của bạn khởi động
sudo systemctl enable elasticsearch
- Khởi động Elasticsearch (bước này rất lâu trên VPS Oracle)
sudo systemctl start elasticsearch
- Kiểm tra tình trạng dịch vụ
sudo systemctl status elasticsearch
Nếu thấy active (running) là đang chạy
sudo systemctl status elasticsearch ● elasticsearch.service - Elasticsearch Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2023-06-08 06:16:47 UTC; 1min 40s ago Docs: https://www.elastic.co Main PID: 760 (java) Tasks: 46 (limit: 1074) Memory: 660.0M CPU: 2min 23.920s CGroup: /system.slice/elasticsearch.service ├─ 760 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.tt> └─1269 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller Jun 08 06:14:36 osaka-elasticpress systemd[1]: Starting Elasticsearch... Jun 08 06:16:47 osaka-elasticpress systemd[1]: Started Elasticsearch.
Lúc này có thể ấn “q” ở bàn phím để thoát ra
- Kiểm tra trên trình duyệt, bằng cách gõ IP:9200
Tạm mọi thứ hoạt động khá ổn
Khởi động lại, có thể phải vài phút Elasticsearch mới chạy xong 😀 thấy RAM ảo và thực đang loanh quanh ~750MB như hình là đúng hé 😛
Cấu hình tưởng lửa
Thay IP 232.232.232.232 bằng IP WordPress của bạn
sudo ufw allow from 232.232.232.232 to any port 9200 sudo ufw allow ssh sudo ufw enable sudo ufw status
Cấu hình trên sẽ cho phép IP Wordpress của bạn kết nối tới server cài Elasticsearch qua cổng 9200
Ở server Elasticsearch mở lại port 22 để còn login vào SSH 😀
Việc tiếp theo thì cài đặt plugin ElasticPress trên WordPress thì như thông thường thôi
Về cơ bản nếu bạn dùng 1 con VPS có khoảng 2 GB RAM, thì cứ cài đặt mặc định vào là chạy rồi, VPS Oracle 1GB RAM và yếu quá nên mới phải làm phức tạp lên như trong bài 😀
Làm xong thấy dùng Algolia đơn giản lại hiệu quả hơn quá nhiều, nên vụ này gần như bỏ 😛 mỗi cái lỡ viết nên public luôn để sau có tư liệu xem lại 😛
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ị!