Cách cài đặt Redis Server trên CentOS 8

theanh

Administrator
Nhân viên
Redis là kho lưu trữ khóa-giá trị trong bộ nhớ mã nguồn mở, miễn phí, hỗ trợ nhiều loại cấu trúc dữ liệu khác nhau. Bạn có thể sử dụng nó như một cơ sở dữ liệu, bộ nhớ đệm, trình môi giới tin nhắn và hàng đợi. Nó được sử dụng để xây dựng các ứng dụng web có hiệu suất cao và khả năng mở rộng. Nó hỗ trợ nhiều ngôn ngữ lập trình như Java, PHP, C, Perl, Python, C#, Lua, Go và nhiều ngôn ngữ khác nữa. Đây là một nền tảng chéo và hoạt động trên hầu hết các hệ điều hành dựa trên Unix bao gồm Linux, *BSD và OS X.

Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt Redis trên máy chủ CentOS 8.

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

  • Một máy chủ chạy CentOS 8.
  • Một mật khẩu gốc được cấu hình cho máy chủ.

Cài đặt Redis Server​

Theo mặc định, gói Redis có sẵn trong kho lưu trữ mặc định của CentOS 8. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
dnf install redis -y
Sau khi cài đặt máy chủ Redis, hãy khởi động dịch vụ Redis và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start redis
systemctl enable redis
Bạn cũng có thể xác minh trạng thái của máy chủ Redis bằng lệnh sau:
Mã:
systemctl status redis
Bạn sẽ nhận được kết quả sau:
Mã:
Loaded: đã tải (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d ??limit.conf Đang hoạt động: đang hoạt động (đang chạy) kể từ Tue 2020-09-15 04:52:54 EDT; 6 giây trước PID chính: 3076 (redis-server) Nhiệm vụ: 4 (giới hạn: 12527) Bộ nhớ: 6,6M CGroup: /system.slice/redis.service ??3076 /usr/bin/redis-server 127.0.0.1:637915/09 04:52:54 centos8 systemd[1]: Đang khởi động cơ sở dữ liệu khóa-giá trị liên tục Redis...15/09 04:52:54 centos8 systemd[1]: Đã khởi động cơ sở dữ liệu khóa-giá trị liên tục Redis.
Theo mặc định, Redis lắng nghe trên cổng 6379. Bạn có thể kiểm tra bằng lệnh sau:
Mã:
ss -ant | grep 6379
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
Tiếp theo, hãy kiểm tra kết nối Redis bằng lệnh sau:
Mã:
redis-cli
Bạn sẽ thấy kết quả đầu ra sau:
Mã:
127.0.0.1:6379>
Bây giờ, hãy chạy lệnh sau để kiểm tra kết nối:
Mã:
127.0.0.1:6379> ping
Bạn sẽ thấy kết quả đầu ra sau:
Mã:
PONG

Cấu hình bộ đệm Redis​

Tiếp theo, bạn sẽ cần cấu hình Redis làm máy chủ lưu trữ đệm. Bạn có thể thực hiện bằng cách chỉnh sửa tệp cấu hình Redis:
Mã:
nano /etc/redis.conf
Thêm các dòng sau vào cuối tệp:
Mã:
maxmemory 128mbmaxmemory-policy allkeys-lru
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ Redis bằng lệnh sau:
Mã:
systemctl restart redis

Secure Redis Server​

Theo mặc định, redis-cli cho phép bạn chạy bất kỳ lệnh nào trong shell Raedis. Vì vậy, bạn nên bảo mật shell Redis bằng mật khẩu. Bạn có thể bật xác thực mật khẩu bằng cách chỉnh sửa tệp /etc/redis.conf:
Mã:
nano /etc/redis.conf
Tìm dòng sau:
Mã:
# requirepass foobared
Và thay thế bằng dòng sau:
Mã:
requirepass A&#9D3Fs4%#df
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ Redis để áp dụng các thay đổi cấu hình:
Mã:
systemctl restart redis
Bây giờ, hãy kết nối với Redis bằng lệnh sau:
Mã:
redis-cli
Sau khi kết nối, hãy chạy lệnh sau:
Mã:
127.0.0.1:6379> Máy chủ INFO
Bạn sẽ nhận được lỗi sau vì bạn không xác thực.
Mã:
Yêu cầu xác thực NOAUTH.
Bây giờ, hãy chạy lệnh sau để xác thực bằng mật khẩu được chỉ định trong tệp cấu hình Redis:
Mã:
127.0.0.1:6379> AUTH A&#9D3Fs4%#df
Bạn sẽ thấy đầu ra sau:
Mã:
OK
Bây giờ, hãy chạy lệnh sau:
Mã:
127.0.0.1:6379> Máy chủ INFO
Bạn sẽ nhận được kết quả sau:
Mã:
# Máy chủredis_version:5.0.3redis_git_sha1:00000000redis_git_dirty:0redis_build_id:28849dbea6f07cc8redis_mode:standaloneos:Linux 4.18.0-193.14.2.el8_2.x86_64 x86_64arch_bits:64multiplexing_api:epollatomicvar_api:atomic-builtingcc_version:8.3.1process_id:3176run_id:2bf42acb9a0c0f251220c9bf5d66982b1c0b1d87tcp_port:6379uptime_in_seconds:41uptime_in_days:0hz:10configured_hz:10lru_clock:6324712executable:/usr/bin/redis-serverconfig_file:/etc/redis.conf
Khi bạn hoàn tất, bạn có thể tiến hành bước tiếp theo.

Đổi tên lệnh nguy hiểm​

Bạn cũng nên đổi tên một số lệnh nguy hiểm bên trong shell Redis. Một trong những lệnh nguy hiểm là "config". Lệnh này được dùng để lấy lại mật khẩu Redis.

Chúng ta hãy xem cách lấy lại mật khẩu Redis bằng lệnh "config".

Đầu tiên, hãy kết nối với Redis bằng lệnh sau:
Mã:
redis-cli
Sau khi kết nối, hãy xác thực Redis bằng lệnh sau:
Mã:
127.0.0.1:6379> AUTH A&#9D3Fs4%#df
Tiếp theo, hãy lấy lại mật khẩu Redis bằng lệnh sau:
Mã:
127.0.0.1:6379> config get requirepass
Bạn sẽ nhận được mật khẩu Redis trong đầu ra sau:
Mã:
1) "requirepass"2) "A&#9D3Fs4%#df"
Bạn có thể đổi tên lệnh "config" bằng cách chỉnh sửa tệp /etc/redis.conf:
Mã:
nano /etc/redis.conf
Tìm dòng sau:
Mã:
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
Và thay thế bằng dòng sau:
Mã:
rename-command CONFIG hitredis
Lưu và đóng tệp. Sau đó, khởi động lại dịch vụ Redis bằng lệnh sau:
Mã:
systemctl restart redis
Bây giờ, hãy kết nối và xác thực Redis bằng lệnh sau:
Mã:
redis-cli
127.0.0.1:6379> AUTH A&#9D3Fs4%#df
Bây giờ, hãy lấy lại mật khẩu Redis bằng lệnh "config":
Mã:
127.0.0.1:6379> config get requirepass
Bạn sẽ nhận được lỗi sau:
Mã:
(error) ERR unknown command `config`, with args starting with: `get`, `requirepass`,
Bây giờ, hãy chạy lệnh đã đổi tên như hiển thị bên dưới:
Mã:
127.0.0.1:6379> hitredis get requirepass
Bạn sẽ nhận được mật khẩu Redis của mình trong đầu ra sau:
Mã:
1) "requirepass"2) "A&#9D3Fs4%#df"

Kết luận​

Xin chúc mừng! bạn đã cài đặt và bảo mật thành công máy chủ Redis trên CentOS 8. Bây giờ bạn có thể lưu trữ ứng dụng của mình, cấu hình để sử dụng bộ đệm Redis. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên