Mục lục
Trước khi hướng dẫn cài đặt Redis 6, mình sẽ điểm qua tính năng ưu việt của nó. Ở bản Redis 6 này có thể chia thành một số loại khác nhau như là: Bảo mật, hiệu suất, dễ sử dụng và thậm chí một số chức năng hoàn toàn mới như là:
- SSL
- ACL
- RESP3
- Client side caching: Bộ nhớ đệm ở máy khách
- Threaded I/O
- Hỗ trợ Cluster trong Redis-benchmark và cải tiến redis-cli cluster
- Hỗ trợ nhiều module redis
- Redis Cluster Proxy
- RDB tự xoá khi không còn sử dụng
- Psync2 giao thức sao chép được tối ưu hoá
- Hỗ trợ cài đặt thời gian chờ
- Tải RDB nhanh hơn 20 – 30%
Mặc định khi các bạn cài Redis trên Centos 7/8 hoặc Almalinux 8, thì bản redis các bạn cài theo hướng dẫn trên google chỉ là bản 5.x trở xuống mà thôi. Nên hôm nay mình chia sẻ cách cài đặt và cấu hình cơ bản cho redis 6 trên Directadmin.
Nhưng trước khi bước vào việc cài đặt, mình xin có 1 lưu ý
NẾU BẠN KHÔNG CÓ PRO PACK CỦA DIRECTADMIN VUI LÒNG KHÔNG KÍCH HOẠT CÁC TUỲ CHỌN REDIS TẠI CUSTOMBUILD VÌ SẼ GÂY XUNG ĐỘT VỚI REDIS ĐƯỢC CÀI ĐẶT TRONG HỆ ĐIỀU HÀNH CỦA BÀI VIẾT NÀY (KÍCH HOẠT KHÔNG ĐƯỢC GÌ NHƯNG LẠI GÂY XUNG ĐỘT). NẾU BẠN CÓ PRO PACK XIN VUI LÒNG KÍCH HOẠT TÍNH NĂNG REDIS TẠI CUSTOMBUILD VÀ BỎ QUA BÀI VIẾT NÀY.
Phần 1 – Cài đặt Redis 6
Do Directadmin hỗ trợ nhiều phiên bản hệ điều hành, và hệ điều hành được sử dụng nhiều nhất là Centos, nên hôm nay mình sẽ hướng dẫn cài đặt riêng đối với từng hệ điều hành, mà cụ thể là Centos 7 và Centos 8/Almalinux 8
1. Cài đặt Redis 6 trên Directadmin – Centos 7
Cập nhật Centos 7 lên phiên bản mới nhất
yum clean all;yum update -y;yum upgrade -y;yum autoremove -y
Cài đặt Redis 6 trên Centos 7
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm; yum --enablerepo=remi -y install redis
2. Cài đặt Redis 6 trên Directadmin – Centos 8/Almalinux 8
Cập nhật Centos 8 / Almalinux 8 lên phiên bản mới nhất
dnf clean all;dnf update -y;dnf upgrade -y;dnf autoremove -y
Cài đặt Redis 6 trên Centos 8/ Almalinux 8
Đối với AlmaLinux 8, CentOS 8: Bạn cần chạy lệnh sau để nạp Remi repo và tìm phiên bản mới nhất của Redis.
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y; dnf module list | grep redis
Sau khi chạy cặp lệnh trên bạn sẽ nhận được kết quả gần tương tự như sau:
redis 5 [d] common [d] Redis persistent key-value database redis remi-5.0 common [d] Redis persistent key-value database redis remi-6.0 common [d] Redis persistent key-value database redis remi-6.2 common [d] Redis persistent key-value database
Giả sử phiên bản mới nhất là remi-6.2, bạn chạy cặp lệnh sau để tiến hành cài.
dnf module reset redis -y; dnf module install redis:remi-6.2 -y;
Lưu ý: Cần kiểm tra Redis phải ở version 6 đổ lên bằng lệnh sau vì hướng dẫn cấu hình tiếp theo chỉ áp dụng cho redis version 6 trở lên:
redis-cli -v
3. Cấu hình Redis 6 trên Directadmin
Ở đây tôi sẽ dùng nano. Các bạn có thể sử dụng vi hoặc trình chỉnh sửa thông qua SFTP để chỉnh sửa file /etc/redis/redis.conf: Bạn nào chưa có nano có thể cài đặt thêm bằng lệnh yum -y install nano
nano /etc/redis/redis.conf
Tại redis.conf có rất nhiều mục. Chúng ta chỉ điều chỉnh 1 số mục sau:
tcp-keepalive 0 # Không hết hạn thời gian kết nối redis supervised systemd # Định hình cho redis chạy trên nền systemd # save 3600 1 # Thêm # vào đầu 3 dòng để tắt tính năng ghi lên đĩa của redis # save 300 100 # Thêm # vào đầu 3 dòng để tắt tính năng ghi lên đĩa của redis # save 60 10000 # Thêm # vào đầu 3 dòng để tắt tính năng ghi lên đĩa của redis rdbcompression no # Tắt nén dữ liệu rdbchecksum no # Tắt Checksum io-threads 8 # Tăng số tiến trình redis sẽ chạy. Mặc định là 4.
4. Cho Redis khởi động cùng hệ thống:
systemctl enable redis
5. Khởi động Redis:
systemctl start redis
Phần 2 – Cài đặt phpRedis cho DriectAdmin
Để kết nối được Redis với website, chúng ta phải cài thêm 1 extension nữa cho php, đó chính là phpRedis. Giờ mình tiến hành cài đặt nhé.
1. Bật popen cho PHP:
Nếu Directadmin của bạn từng cài đặt php_secure, hãy chạy lệnh sau để xóa cấu hình đó trước
cd /usr/local/directadmin/custombuild/; rm -f custom/php_disable_functions;
Tiếp theo ta tạo lại file cấu hình (có bật lại popen)
cd /usr/local/directadmin/custombuild; echo "exec,system,passthru,shell_exec,proc_close,proc_open,dl,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname" > custom/php_disable_functions; ./build secure_php
2. Cài phpRedis cho tất cả PHP của DirectAdmin
Bạn chạy lệnh sau để cài đặt phpRedis cho tất cả phiên bản php (lưu ý có reboot server):
cd /usr/local/directadmin/scripts/custom; wget https://raw.githubusercontent.com/poralix/directadmin-utils/master/php/php-extension.sh -O php-extension.sh; chmod 750 php-extension.sh; ./php-extension.sh install redis; systemctl reboot;
Chúc các bạn cài đặt Redis 6 trên Directadmin thành công nhé!