Hướng dẫn cài đặt Redis trên CentOS 7

Giới thiệu

Redis là phần mềm mã nguồn mở và một kho lưu trữ cấu trúc dữ liệu trong bộ nhớ (in-memory data structure store). Redis có thể được sử dụng như một máy chủ cơ sở dữ liệu, như một nhà trung tâm gửi thông báo hoặc để lưu dữ liệu vào bộ nhớ đệm để giúp việc truy xuất dữ liệu nhanh hơn. Trong số các cấu trúc dữ liệu được Redis hỗ trợ là:

  • Hashes
  • sets with range queries
  • Strings
  • sorted lists
  • Hyperloglogs
  • Bitmaps
  • Geospatial indexes ….

Trong bài viết này chúng tôi sẽ hướng dẫn cho bạn cách để cài đặt Redis trên CentOS 7.

Cài đặt Redis trên CentOS 7

Tại thời điểm chúng tôi viết bài hướng dẫn này, gói cài đặt mặc định của Redis trên epel-release đang sử dụng phiên bản 5.0.3. Chúng tôi sẽ hướng dẫn cho bạn cách để cài đặt phiên bản mới nhất của Redis trên CentOS 7 thông qua remi repository.

Bước 1: Cài đặt Remi repository

Phiên bản mới nhất của Redis hiện có trên kho Remi, hãy thêm nó bằng cách thực hiện câu lệnh bên dưới với người dùng root hoặc người dùng có đặc quyền sudo.

sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Bước 2: Sau khi bạn đã thêm kho lưu trữ remi vào máy chủ CentOS của bạn, bạn có thể cài đặt phiên bản mới nhất của Redis trên CentOS 7 với câu lệnh sau :

sudo yum -y update
sudo yum --enablerepo=remi install redis
redis-tren-centos-7-00

Bước 3: Kiểm tra lại phiên bản redis-server bạn vừa cài đặt

redis-server -v
redis-tren-centos-7-01

Bước 4: Start dịch vụ redis trên CentOS 7

systemctl restart redis
systemctl enable redis

Cấu hình Redis trên CentOS 7

Remote Access đến Redis trên CentOS 7

Theo mặc định, máy chủ Redis sẽ lắng nghe trên localhost với cổng 6379. Để các máy khách kết nối với máy chủ Redis của bạn, nó cần cấu hình lại một số thiết lập như sau:

Mở tệp tin cấu hình của Redis trên CentOS 7 tại đường dẫn /etc/redis.conf

Tìm đến cấu hình sau:

bind 127.0.0.01

Và thay thế địa chỉ IP localhost (127.0.0.1) bằng chính địa chỉ IP của máy chủ Redis hoặc 0.0.0.0.

bind <your ip address>
redis-tren-centos-7-02

Bạn cũng có thể thay đổi cấu hình port của bạn bằng cách tìm đến mục port 6379 và thay thế bằng bất kì port mà bạn lựa chọn (không được trùng với các port mà bạn đang sử dụng).

redis-tren-centos-7-03

Cuối cùng bạn restart lại dịch vụ redis trên CentOS 7 để áp dụng các cấu hình bạn vừa thay đổi.

systemctl restart redis 
redis-tren-centos-7-04

Cấu hình lại firewall chỉ trust địa chỉ IP của bạn kết nối đến Redis server, mọi connection khác sẽ từ chối kết nối.

sudo firewall-cmd --permanent --zone=public--add-source=103.1.1.1/32
sudo firewall-cmd --permanent --zone=public --add-port=6973/tcp
sudo firewall-cmd --reload

Bây giờ hãy kiểm tra các vùng hoạt động của firewall bằng cách chạy câu lệnh sau:

sudo firewall-cmd --get-active-zones

Redis Authentication

Định cấu hình Xác thực Redis cho máy khách để yêu cầu AUTH trước khi xử lý bất kỳ lệnh nào khác trên chính máy chủ Redis.

Định cấu hình Xác thực Redis cho máy khách để yêu cầu AUTH trước khi xử lý bất kỳ lệnh nào khác trên chính máy chủ Redis

requirepass Enter-your-password-in-here

Thiết lập Persistent Store để phục vụ cho việc phục hồi data bằng cách edit các cấu hình sau:

appendonly yes
appendfilename "appendonly.aof"

Cuối cùng bạn restart lại dịch vụ redis trên CentOS 7 để áp dụng các cấu hình bạn vừa thay đổi.

systemctl restart redis 

Redis sử dụng Unix Socket

Redis là một hệ thống bộ nhớ đệm tốc độ cao để lưu trữ các đối tượng trong RAM. Nó hoạt động tốt với WordPress và WooCommerce như một bộ đệm đối tượng để lưu trữ các quá trình chuyển tiếp để chúng không được lưu trữ trong cơ sở dữ liệu MySQL. Đặc biệt, trên WooCommerce, điều này có thể giúp ích rất nhiều vì số lượng chuyển tiếp được sử dụng bởi các plugin, đơn đặt hàng và người mua sắm.

Các Unix Socket hoạt động ở lớp mô hình OSI ở mức độ thấp hơn so với TCP Socket do đó các kết nối sẽ tốt hơn.

redis-tren-centos-7-05

Để cấu hình cài đặt Redis trên CentOS 7 chạy trên Unix Socket, bạn hãy thực hiện cấu hình theo các bước sau.

Bước 1: Kiểm tra xem Redis Server của bạn đang chạy với người dùng nào?

ps aux | grep redis

Sau đó chúng tôi sẽ đặt người dùng redis thành một thành viên của nhóm người dùng có quyền xử lý php, web,.. và ở đây người dùng này thường là apache hoặc nginx tùy vào máy chủ web mà bạn cài đặt. Trong hướng dẫn này, chúng tôi sẽ sử dụng người dùng apache để cài đặt.

sudo usermod -g apache redis

Bước 2: Tạo thư mục redis của bạn mà Unix Socket sẽ hoạt động.

sudo mkdir -p /var/run/redis/
sudo chown -R redis:apache /var/run/redis

Bước 3: Mở cấu hình Redis của bạn để thêm các cấu hình sau

#create a unix domain socket to listen on
unixsocket /var/run/redis/redis.sock
#set permissions for the socket
unixsocketperm 775
daemonize yes
stop-writes-on-bgsave-error no
rdbcompression yes
#maximum memory allowed for redis
maxmemory 512M
#how redis will evice old objects - least recently used
maxmemory-policy allkeys-lru

Bước 4: Bạn hãy restart lại dịch vụ Redis Server để áp dụng cấu hình mới.

sudo service redis restart

Sau đó bạn hãy kiểm tra xem Redis unix đã được tạo chưa?

ls -lh /var/run/redis

Bây giờ bạn đã cấu hình lại thành công dịch vụ của mình để sử dụng Redis Socket.

Tổng kết

Chúng tôi đã hướng dẫn bạn cách cài đặt Redis trên CentOS 7. Bạn có thể tham khảo thêm các thông tin chi tiết về Redis tại Redis.io.

Trong trường hợp bạn cần thêm các thông tin về dịch vụ hoặc các hướng dẫn sử dụng, bạn có thể xem thêm về các hướng dẫn, tips, cài đặt và các vấn đề liên quan đến bảo mật tại đây.

Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, đừng ngại bình luận bên dưới.

Was this article helpful?

Related Articles

Leave A Comment?