Cài đặt Redis và phpRedis cho DirectAdmin

Redis là một mã nguồn mở (được cấp phép BSD), lưu trữ cấu trúc dữ liệu trong RAM , được sử dụng làm cơ sở dữ liệu, bộ nhớ cache và môi giới thông báo. Redis cung cấp cấu trúc dữ liệu như chuỗi , băm , danh sách , tập hợp , tập hợp được sắp xếp với các truy vấn phạm vi, bitmap , siêu nhật ký , chỉ mục không gian địa lý và luồng . Redis tích hợp sẵn bản sao , tập lệnh Lua , loại bỏ LRU , giao dịch và các mức độ bền bỉ trên đĩa khác nhau , đồng thời cung cấp tính khả dụng cao thông quaRedis Sentinel và phân vùng tự động với Redis Cluster.

LƯU Ý QUAN TRỌNG: 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.

Cách cài đặt Redis

1. SSH đến Server:

ssh root@xx.xx.xx.xx -p xxxx

2. Cập nhật Server đến phiên bản mới nhất:

Đối với CentOS 7, CloudLinux 7:

yum clean all;yum update -y;yum upgrade -y;yum autoremove -y

Đối với CloudLinux 8, AlmaLinux 8, CentOS 8:

dnf clean all;dnf update -y;dnf upgrade -y;dnf autoremove -y

Đối với Ubuntu, Debian

apt clean all;apt update -y;apt upgrade -y;apt autoremove -y

3. Cài đặt Redis:

Đối với CentOS 7, CloudLinux 7:

yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm;\
yum --enablerepo=remi -y install redis

Để cập nhật lên phiên bản mới nhất nếu đã cài bằng câu lệnh trên.

yum --enablerepo=remi -y update

Đối với CloudLinux 8, 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;\

Để cập nhật lên phiên bản mới hơn bạn cần chạy lại lệnh lệch sau để tìm kiếm phiên bản mới nhất như trên.

dnf module list | grep redis

Giả xử bản mới hơn bản hiện tại của bạn là remi-6.2. Sử dụng câu lệnh sau để update redis lên phiên bản mới nhất.

dnf module reset redis -y;\
dnf module install redis:remi-6.2 -y;\

Đối với Ubuntu 18.04 và 20.04 bạn tham khảo bài viết sau: https://icare24h.net/cai-dat-redis-mainline-tren-ubuntu-18-04-va-20-04/

Đối với Debian (đang cập nhật)

Lưu ý: Cần kiểm tra Redis phải ở version 6 đổ lên bằng lệnh sau vì hướng dẫn ở phần 4 chỉ áp dụng cho redis version 6 trở lên:

redis-cli --version

4. Cấu hình Redis:

Ở đây tôi sẽ dùng “Vi”. Các bạn có thể sử dụng nano hoặc trình chỉnh sửa thông qua SFTP để chỉnh sửa file /etc/redis/redis.conf:

vi /etc/redis/redis.conf

Tại redis.conf có rất nhiều mục. Chúng ta chỉ quan tâm đến 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.

5. Cho Redis khởi động cùng hệ thống:

systemctl enable --now redis

6. Khởi động Redis:

systemctl start redis

Cài đặt phpRedis cho DriectAdmin

1. Bật popen cho PHP:

P/S: Nếu trước đây bạn đã từng có tệp php_disable_functions, bạn có thể dùng lệnh dưới để xóa đi hoặc sang thẳng bước 2 để thêm nội dung vào tệp đó:

cd /usr/local/directadmin/custombuild/;\
rm -f custom/php_disable_functions;\

Bước 1: Tạo tệp php_disable_functions:

cd /usr/local/directadmin/custombuild/;\
mkdir custom;\
cd custom;\
touch php_disable_functions;\

Bước 2: ghi nội dung vào tệp php_disable_functions:

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" >> /usr/local/directadmin/custombuild/custom/php_disable_functions;\

Bước 3: Build lại PHP:

cd /usr/local/directadmin/custombuild/;\
./build php n;\
./build rewrite_confs;\

2. Cài phpRedis cho tất cả PHP của DirectAdmin:

Bạn chạy lệnh sau (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;\

Kết Luận

Qua đây Minh đã hướng dẫn các bạn cài đặt Redis và phpRedis cho DirectAdmin. Nếu thấy vài viết hay đừng quên share và chia sẻ với bạn bè nhé.

Đề xuất cho bạn

Về tác giả: Vương Công Minh

Nếu bạn đang cần Hosting Wordpress nhanh và mạnh. Tôi khuyến nghị bạn tham khảo Bnix.vn - Nhà cung cấp Hosting/VPS/Server Chuyên Nghiệp Hàng Đầu Việt Nam. Đây là nhà cung cấp đang cung cấp hạ tầng để vận hành ICare24H. Bạn có thể trực tiếp trải nghiệm tốc độ Hosting trên trang web Icare24H và đừng quên dùng mã giảm giá ICARE24H để được giảm giá lên đến 49% cho tất cả các dịch vụ nhé.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *