Cách cài đặt Redis Server trên Rocky Linux

theanh

Administrator
Nhân viên
Redis là kho lưu trữ dữ liệu khóa-giá trị trong bộ nhớ mã nguồn mở và phổ biến. Nó hỗ trợ nhiều cấu trúc dữ liệu như Hash, List, Set, String và nhiều cấu trúc khác nữa. Redis được thiết kế để chỉ chạy trong môi trường đáng tin cậy, có thể được sử dụng làm cơ sở dữ liệu, bộ nhớ đệm và môi giới tin nhắn. Redis được biết đến rộng rãi nhờ khả năng hỗ trợ rộng rãi, hiệu suất cao, tính khả dụng cao và tính linh hoạt.

Bạn có thể cài đặt Redis dưới dạng độc lập cho triển khai nhỏ. Đối với triển khai lớn, họ cung cấp các thành phần bổ sung như Redis Sentinel cho tính khả dụng cao và Redis Cluster để phân vùng dữ liệu trên nhiều máy chủ nút Redis.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Redis trên Rocky Linux. Để cài đặt dễ dàng, bạn sẽ cài đặt Redis từ kho lưu trữ AppStream, nhưng nếu bạn muốn có phiên bản Redis mới nhất (có nghĩa là nhiều tính năng hơn), bạn có thể cài đặt Redis từ nguồn bằng cách biên dịch nó vào hệ thống của mình.

Điều kiện tiên quyết​

  • Hệ thống Rocky Linux. Đảm bảo tất cả các gói và kho lưu trữ được cập nhật lên phiên bản mới nhất
  • Người dùng root hoặc người dùng có quyền root. Bạn sẽ sử dụng người dùng này để cài đặt các gói mới và chỉnh sửa cấu hình hệ thống.

Cài đặt Redis từ Kho lưu trữ AppStream​

Nếu bạn muốn cài đặt Redis dễ dàng mà không cần biên dịch, bạn có thể cài đặt từ kho lưu trữ AppStream do Rocky Linux cung cấp. Hiện tại, kho lưu trữ AppStream của Rocky Linux cung cấp Redis phiên bản 5.x. Và nếu bạn muốn cài đặt Redis phiên bản 6.x, bạn phải cài đặt thủ công.

1. Để cài đặt Redis từ kho lưu trữ AppStream, hãy thực hiện lệnh dnf bên dưới.
Mã:
sudo dnf install redis
Bây giờ hãy nhập 'Y' để cài đặt gói Redis.



2. Sau khi cài đặt hoàn tất, hãy bật redis để chạy khi khởi động hệ thống bằng lệnh systemctl bên dưới.
Mã:
sudo systemctl enable redis
3. Sau đó, thực hiện lệnh sau để khởi động dịch vụ Redis và kiểm tra trạng thái của nó.
Mã:
sudo systemctl start redis
sudo systemctl status redis
Nếu dịch vụ Redis đang hoạt động và chạy, bạn sẽ thấy đầu ra tương tự như bên dưới.



Đối với giai đoạn tiếp theo, bạn sẽ cấu hình Redis như trong phần bên dưới.

Cài đặt Redis từ Nguồn​

Nếu bạn muốn có phiên bản Redis mới nhất, bạn có thể cài đặt thủ công từ mã nguồn. Ưu điểm chính của việc cài đặt phiên bản Redis mới nhất là bạn luôn nhận được các tính năng và gói mới nhất. Hiện tại, hãy tải phiên bản ổn định mới nhất 6.2 và bạn sẽ cài đặt nó ở giai đoạn này.

1. Trước tiên, bạn phải cài đặt một số gói phụ thuộc trước khi biên dịch Redis.

Thêm kho lưu trữ EPEL vào hệ thống của bạn bằng lệnh sau.
Mã:
sudo dnf install epel-release -y


Cài đặt gói nhóm 'Công cụ phát triển' và một số gói bổ sung để biên dịch Redis.
Mã:
sudo dnf group install "Công cụ phát triển" -y
sudo dnf install jemalloc lua hireis linenoise -y
Sau đó, thực hiện lệnh sau để cài đặt các gói openssl-devel (để hỗ trợ TLS) và systemd-devel (để hỗ trợ systemd).
Mã:
sudo dnf install openssl-devel systemd-devel -y
2. Sau khi cài đặt tất cả các gói hoàn tất, hãy thực hiện lệnh sau để tạo người dùng và nhóm mới 'redis'.
Mã:
sudo adduser --system --user-group --no-create-home --shell /sbin/nologin redis
Tiếp theo, tạo một thư mục dữ liệu mới cho Redis tại '/var/lib/redis' và thay đổi quyền sở hữu thư mục đó thành người dùng 'redis' bằng lệnh sau.
Mã:
sudo mkdir -p /var/lib/redis
sudo chown -R redis:redis /var/lib/redis
Và bạn đã sẵn sàng để biên dịch và cài đặt redis.



3. Thay đổi thư mục làm việc thành '/usr/src' và tải xuống phiên bản ổn định mới nhất của mã nguồn Redis bằng lệnh wget như bên dưới.
Mã:
cd /usr/src/
wget https://download.redis.io/releases/redis-6.2.5.tar.gz
Bây giờ hãy giải nén mã nguồn Redis và thay đổi thư mục thành thư mục 'redis-*'.
Mã:
tar -xzvf redis-6.2.5.tar.gz
cd redis-*/


4. Biên dịch mã nguồn Redis bằng lệnh sau.
Mã:
sudo make BUILD_TLS=yes USE_SYSTEMD=yes
Các tùy chọn bạn phải biết:
  • BUILD_TLS = bật hỗ trợ TLS cho Redis,
  • USE_SYSTEMD = bật hỗ trợ cho systemd, hệ thống Rocky Linux sử dụng systemd làm hệ thống khởi tạo của nó.
Bây giờ hãy thực hiện lệnh sau.
Mã:
sudo make test
Bài kiểm tra này sẽ mất một thời gian. Khi hoàn tất, bạn sẽ thấy đầu ra tương tự như bên dưới.
Mã:
\o/ Tất cả các bài kiểm tra đã vượt qua mà không có lỗi!

Dọn dẹp: có thể mất một thời gian... OK
make[1]: Thoát khỏi thư mục '/usr/src/redis-6.2.5/src'
Đảm bảo rằng tất cả các bài kiểm tra đã vượt qua mà không có bất kỳ lỗi nào.

5. Tiếp theo, bạn có thể cài đặt redis bằng cách thực hiện lệnh bên dưới.
Mã:
sudo make PREFIX=/usr install
Lệnh Redis sẽ có tại thư mục '/usr/bin', như chúng tôi chỉ định trong tùy chọn 'PREFIX=' ở trên cùng.



Bạn có thể xác minh cài đặt Redis bằng cách chạy các lệnh sau.
Mã:
redis-server --version
redis-cli --version
Nếu cài đặt thành công, bạn sẽ thấy phiên bản Redis 6.2 như ảnh chụp màn hình bên dưới.


Cấu hình Redis​

Ở giai đoạn này, bạn sẽ cấu hình cài đặt Redis. Bạn có thể triển khai giai đoạn này cho tất cả các cài đặt Redis (cài đặt từ nguồn hoặc cài đặt từ kho lưu trữ AppStream).

1. Nếu bạn đang cài đặt Redis từ mã nguồn, hãy thực hiện lệnh sau để tạo thư mục cấu hình Redis mới.
Mã:
mkdir -p /etc/redis
Bây giờ hãy sao chép cấu hình mẫu 'redis.conf' vào thư mục '/etc/redis'.
Mã:
cp /usr/src/redis-*/redis.conf /etc/redis/redis.conf
2. Chạy lệnh nano bên dưới để chỉnh sửa tệp cấu hình 'redis.conf'.
Mã:
sudo nano /etc/redis/redis.conf


Thay đổi địa chỉ 'bind' mặc định bằng địa chỉ IP mạng cục bộ của bạn.
Mã:
bind 127.0.0.1
Bỏ ghi chú tùy chọn 'daemonize' và đổi giá trị thành 'yes' để cho phép Redis chạy như một daemon.
Mã:
daemonize yes
Bỏ ghi chú tùy chọn 'supervised' và đổi giá trị thành 'systemd'. Tùy chọn này cho phép Redis tương tác với cây giám sát hệ thống.
Mã:
supervised systemd
Chỉ định thư mục làm việc và dữ liệu cho Redis vào thư mục '/var/lib/redis'. Tất cả các cơ sở dữ liệu Redis sẽ có trong thư mục này.
Mã:
dir /var/lib/redis
Bỏ ghi chú tùy chọn 'requirepass' và thay đổi giá trị bằng mật khẩu của bạn, đồng thời đảm bảo sử dụng mật khẩu mạnh và dài. Với tùy chọn này, mọi tương tác của máy khách sẽ yêu cầu mật khẩu để xác thực.
Mã:
requirepass AJds9dshsd8wqejdw82389r3ej3983jk
Lưu cấu hình bằng cách nhấn nút 'Ctrl+x', nhập 'y', sau đó nhấn 'Enter'.

Cấu hình tệp dịch vụ cho Redis​

Để cài đặt Redis thủ công, bạn phải thiết lập tệp dịch vụ Redis.

1. Thực hiện lệnh sau để thay đổi thư mục làm việc thành '/usr/src/redis-*/utils' và sao chép tệp dịch vụ systemd vào '/etc/systemd/system'.
Mã:
cd /usr/src/redis-*/utils/
cp systemd-redis_server.service /etc/systemd/system/redis-server.service
2. Chỉnh sửa cấu hình 'redis-server.service' bằng nano.
Mã:
sudo nano /etc/systemd/system/redis-server.service
Thay đổi một số tùy chọn bằng cách sử dụng cấu hình như bên dưới.
Mã:
[Unit]
...
AssertPathExists=/var/lib/redis

[Service]
...
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/bin/redis-cli shutdown
Restart=alway
...
User=redis
Group=redis
WorkingDirectory=/var/lib/redis
Nhấn nút 'Ctrl+x', nhập 'y' và nhấn 'Enter' để lưu và thoát.

3. Bây giờ hãy thực hiện lệnh sau để tải lại systemd-manager và áp dụng cấu hình mới.
Mã:
sudo systemctl daemon-reload


4. Sau đó, thực hiện lệnh sau để cho phép dịch vụ redis tự động chạy khi khởi động hệ thống.
Mã:
sudo systemctl enable redis-server
5. Khởi động dịch vụ redis và kiểm tra trạng thái của nó bằng cách chạy lệnh sau.
Mã:
sudo systemctl start redis-server
sudo systemctl status redis-server
Nếu dịch vụ Redis của bạn đang hoạt động và chạy, bạn sẽ thấy đầu ra tương tự như bên dưới.


Đổi tên hoặc vô hiệu hóa lệnh Redis nguy hiểm​

Redis cung cấp một tính năng bảo mật cho phép bạn đổi tên hoặc vô hiệu hóa hoàn toàn một số lệnh nguy hiểm. Và điều này có thể được thực hiện đơn giản thông qua tệp cấu hình redis 'redis.conf'.

1. Chỉnh sửa cấu hình redis 'redis.conf' bằng lệnh nano.
Mã:
sudo nano /etc/redis/redis.conf
2. Để tắt hoàn toàn lệnh Redis, bạn có thể định nghĩa tên lệnh theo sau là dấu ngoặc kép trống như bên dưới.
Mã:
rename-command FLUSHDB ""
rename-command FLUSHALL ""
rename-command DEBUG ""
3. Để đổi tên lệnh Redis, bạn có thể định nghĩa tên lệnh theo sau lệnh mới để thay thế như bên dưới.
Mã:
rename-command SHUTDOWN SHUT_ME_DOWN
rename-command CONFIG CONFIG_ME_NOW
Lưu cấu hình bằng cách nhấn nút 'Ctrl+x', nhập 'y', sau đó nhấn 'Enter'.

4. Tiếp theo, thực hiện lệnh sau để khởi động lại dịch vụ redis và áp dụng cấu hình.
Mã:
sudo systemctl restart redis-server
Đối với bước tiếp theo, bạn sẽ xác minh xác thực Redis để đảm bảo nó hoạt động, sau đó bạn sẽ xác minh bằng một số lệnh mà bạn vừa đổi tên.

Xác minh cài đặt Redis​

1. Trước tiên, bạn phải kết nối với máy chủ Redis bằng lệnh 'redis-cli' như bên dưới.
Mã:
redis-cli
Hoặc bạn có thể chỉ định máy chủ và cổng bằng lệnh như bên dưới.
Mã:
redis-cli -h 127.0.0.1 -p 6379
2. Tiếp theo, xác thực bản thân bằng lệnh 'auth' như bên dưới.
Mã:
auth AJds9dshsd8wqejdw82389r3ej3983jk
Nếu xác thực thành công, bạn sẽ thấy thông báo 'OK'.

3. Chạy lệnh 'ping' bên dưới. Lệnh này sẽ đảm bảo xác thực và kết nối với máy chủ Redis thành công.
Mã:
ping
Nếu kết nối thành công, bạn sẽ thấy thông báo 'PONG'



4. Tiếp theo, hãy xác minh một số lệnh mà bạn đã vô hiệu hóa hoặc đổi tên ở trên cùng.

Chạy lệnh 'CONFIG' như bên dưới.
Mã:
CONFIG get bind
Và bạn sẽ thấy thông báo lỗi 'ERR unknown command 'CONFIG'' vì lệnh 'CONFIG' mặc định đã được thay thế bằng 'CONFIG_ME_NOW'.

Bây giờ hãy chạy lệnh 'CONFIG_ME_NOWW' như bên dưới.
Mã:
CONFIG_ME_NOW get bind
CONFIG_ME_NOW get supervised
Nếu cài đặt thành công, bạn sẽ thấy đầu ra tương tự như ảnh chụp màn hình bên dưới.



Ngoài ra, hãy thử chạy một số lệnh bị vô hiệu hóa 'FLUSHDB' và 'DEBUG', và bạn sẽ nhận được cùng một thông báo lỗi như 'Lệnh không xác định ERR'.

Kết luận​

Xin chúc mừng! Bây giờ bạn đã cài đặt thành công Redis trên Rocky Linux bằng hai phương pháp, cài đặt từ kho lưu trữ AppStream hoặc Cài đặt từ mã nguồn. Ngoài ra, bạn đã học cách bảo mật triển khai Redis bằng cách bật xác thực và đổi tên và vô hiệu hóa một số lệnh Redis nguy hiểm. Đối với bước tiếp theo, bạn có thể khám phá một cấu hình Redis khác như triển khai TLS, thiết lập tính khả dụng cao bằng Redis Sentinel, v.v.
 
Back
Bên trên