Redis là một kho mã nguồn mở, dùng để lưu trữ cấu trúc dữ liệu trong bộ nhớ. Bên cạnh đó, Redis còn có thể được sử dụng như là một cơ sở dữ liệu (CSDL), cache hay massage broker. Hiện nay, Redis hỗ trợ nhiều cấu trúc dữ liệu khác nhau như String, Hash, List, Set…Ngoài ra, kho lưu trữ này cũng cung cấp tính sẵn sàng rất cao qua Redis Sentinel, bao gồm giám sát, thông báo chuyển đổi dự phòng tự động. Redis cũng cho phép phân vùng tự động trên nhiều node Redis với Redis Cluster.
Bài viết sau sẽ hướng dẫn cách cấu hình và cài đặt Redis trên CentOS 7 đơn giản nhất.
Nội dung
Điều kiện để cài đặt Redis trên CentOS 7
Trước khi bắt đầu các bước trong hướng dẫn dưới đây, hãy đảm bảo rằng bạn đã đăng nhập với quyền sudo.
Cài đặt Redis trên CentOS 7
Radis package không được đi kèm với repository mặc định của CentOS. Do đó, ta sẽ cài đặt Redis 5.0.2 từ Remi repository.
Quá trình cài đặt tương đối đơn giản, theo các bước sau:
1. Bắt đầu bằng việc enable Remi repository. Hãy chạy lệnh sau trong SSH terminal:
sudo yum-config-manager --enable remi
2. Cài đặt package Redis:
sudo yum install redis
3. Sau khi quá trình cài đặt hoàn tất, chạy dịch vụ Redis và cho phép nó khởi động khi boot:
sudo systemctl enable redis
#Output:
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
Để kiểm tra trạng thái của dịch vụ, nhập vào lệnh sau:
sudo systemctl status redis
Sau đó ta sẽ thấy các dòng như sau:
● redis.service - Redis persistent key-value database
Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/redis.service.d
└─limit.conf
Active: active (running) since Sat 2018-11-24 15:21:55 PST; 40s ago
Main PID: 2157 (redis-server)
CGroup: /system.slice/redis.service
└─2157 /usr/bin/redis-server 127.0.0.1:6379
Lưu ý: Redis sẽ không thể khởi động nếu IPv6 chưa được enable trên server.
Vậy là quá trình cài đặt Redis trên CentOS 7 đã hoàn tất. Tiếp theo là việc cấu hình Redis.
Cấu hình Redis Remote Access
Theo mặc định, Redis không cho phép các kết nối từ xa. Do đó, ta chỉ có thể kết nối với server Redis từ 127.0.0.1 (localhost).
Chỉ thực hiện các bước dưới đây nếu bạn muốn kết nối với server Redis của mình từ xa. Nếu đang sử dụng một server setup duy nhất, tức là các ứng dụng và Redis chạy trên cùng một máy chủ, thì việc kết nối từ xa không được khuyến khích.
Để cấu hình Redis remote access, mở file config của Redis bằng text editor:
sudo nano /etc/redis.conf
Tìm dòng bắt đầu bằng bind 127.0.0.1,
sau đó thêm địa chỉ IP riêng cho server ở sau 127.0.0.1.
/etc/redis.conf
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 127.0.0.1 192.168.121.233
Hãy đảm bảo rằng 192.168.121.233 đã được thay bằng IP của bạn. Lưu lại file rồi đóng trình editor.
Sau đó, restart dịch vụ Redis để áp dụng các thay đổi:
sudo systemctl restart redis
Sử dụng command ss
để xác thực xem server Redis có đang nghe private interface trên port 6379
không:
ss -an | grep 6379
Kết quả sẽ giống nhau sau:
tcp LISTEN 0 128 192.168.121.233:6379 *:*
tcp LISTEN 0 128 127.0.0.1:6379 *:*
Sau đó, ta cần thêm một rule tường lửa để cho phép các lưu lượng từ các máy ở xa trên TCP port 6379
.
Giả sử ta đàn sử dụng FirewallD
để quản lý tường lửa, và ta cần cho phép truy cập từ subnet 192.168.121.0/24
. Khi đó câu lệnh sẽ như sau:
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.121.0/24 --permanent
sudo firewall-cmd --reload
Các dòng lệnh phía trên sẽ tạo một zone mới, tên redis
. Sau đó là mở port 6379
và cho phép truy cập từ các mạng riêng.
Khi đó, server Redis sẽ chấp nhận các kết nối từ xa trên TCP port 6379.
Để kiểm tra xem mọi thứ đã được cấu hình đúng chưa, ta có thể ping server Redis từ máy ở xa bằng tiện ích redis-cli
, cung cấp một giao diện cmd cho server Redis:
redis-cli -h <REDIS_IP_ADDRESS> ping
Câu lệnh trên sẽ trả về một phản hồi PONG
:
PONG
Kết luận
Đến đây là bạn đã hoàn tất việc cài đặt và cấu hình Redis trên CentOS 7. Chúc các bạn may mắn!
Theo Linuxize.
Tìm hiểu thêm
Cài đặt PhpMyAdmin trên CentOS 7
Disable SELinux trên CentOS 7
Cấu hình FTP trên CentOS 7 bằng VSFTPD