Cài Đặt và Cấu Hình Redis trên Hệ Điều Hành OpenEuler

Để cài đặt và cấu hình máy chủ Redis trên OpenEuler, chúng ta sẽ thực hiện các bước từ tải mã nguồn, biên dịch, cài đặt, cấu hình, cho đến thiết lập dịch vụ tự khởi động.

1. Chuẩn bị Môi Trường và Tải Mã Nguồn Redis

Trước tiên, hãy tạo một thư mục riêng để chứa mã nguồn và di chuyển vào đó. Sau đó, tải về phiên bản Redis mong muốn. Trong ví dụ này, chúng ta sử dụng Redis 6.0.6.
# Tạo thư mục và di chuyển vào
mkdir -p /opt/redis_sources
cd /opt/redis_sources

# Tải gói mã nguồn Redis
wget http://download.redis.io/releases/redis-6.0.6.tar.gz

# Giải nén gói đã tải
tar -xzf redis-6.0.6.tar.gz

# Di chuyển vào thư mục mã nguồn Redis
cd redis-6.0.6

2. Biên Dịch và Cài Đặt Redis

Sau khi giải nén, chúng ta sẽ biên dịch Redis từ mã nguồn và cài đặt nó vào một thư mục được chỉ định. Thư mục cài đặt khuyến nghị là `/usr/local/redis`.
# Biên dịch Redis và cài đặt vào /usr/local/redis
make PREFIX=/usr/local/redis install

3. Xác Minh Cài Đặt

Để đảm bảo quá trình cài đặt thành công, bạn có thể chạy thử máy chủ Redis.
# Di chuyển đến thư mục cài đặt Redis
cd /usr/local/redis

# Chạy thử máy chủ Redis (sẽ chạy ở foreground)
./bin/redis-server
Nếu Redis khởi động mà không có lỗi, hãy nhấn `Ctrl+C` để dừng máy chủ.

4. Cấu Hình Redis

Redis yêu cầu một tệp cấu hình để hoạt động tối ưu. Chúng ta sẽ sao chép tệp cấu hình mẫu và chỉnh sửa nó.
# Tạo thư mục cấu hình và sao chép tệp cấu hình mẫu
mkdir -p /usr/local/redis/etc
cp /opt/redis_sources/redis-6.0.6/redis.conf /usr/local/redis/etc/redis.conf

# Chỉnh sửa tệp cấu hình Redis
vi /usr/local/redis/etc/redis.conf
Trong trình soạn thảo `vi`, nhấn `i` để vào chế độ chỉnh sửa và thực hiện các thay đổi sau: * **`bind 127.0.0.1`**: Thay đổi thành `bind 0.0.0.0` để cho phép truy cập từ các địa chỉ IP bên ngoài. *Lưu ý: Việc này có thể ảnh hưởng đến bảo mật, hãy đảm bảo bạn đã cấu hình tường lửa hoặc các biện pháp bảo mật khác.* * **`daemonize no`**: Thay đổi thành `daemonize yes` để Redis chạy dưới dạng tiến trình nền. * **`pidfile /var/run/redis_6379.pid`**: Đảm bảo đường dẫn PID file là chính xác và có thể ghi được. Sau khi chỉnh sửa, nhấn `Esc`, sau đó gõ `:wq` và `Enter` để lưu và thoát.

5. Thiết Lập Tường Lửa

Mở cổng mặc định của Redis (6379) trên tường lửa để cho phép kết nối từ bên ngoài.
# Mở cổng TCP 6379 vĩnh viễn trên tường lửa
sudo firewall-cmd --add-port=6379/tcp --permanent

# Tải lại cấu hình tường lửa để áp dụng thay đổi
sudo firewall-cmd --reload

6. Tạo Dịch Vụ Redis (Script init.d)

Để quản lý Redis như một dịch vụ hệ thống, chúng ta sẽ tạo một script `init.d`. Điều này cho phép bạn dễ dàng khởi động, dừng hoặc kiểm tra trạng thái của Redis.
# Tạo tệp script dịch vụ Redis
sudo vi /etc/init.d/redis_server
Sao chép nội dung sau vào tệp `redis_server`, đảm bảo đường dẫn và cấu hình phù hợp với cài đặt của bạn:
#!/bin/sh
#
# redis_server - Khởi động và dừng Redis
#
# CHKCONFIG: 2345 90 60
# DESCRIPTION: Redis là một kho dữ liệu cấu trúc trong bộ nhớ, được sử dụng làm cơ sở dữ liệu, bộ đệm và bộ môi giới tin nhắn.

### BEGIN INIT INFO
# Provides:          redis_server
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Redis data structure server
# Description:       Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.
### END INIT INFO

REDIS_BIN="/usr/local/redis/bin/redis-server"
REDIS_CLI="/usr/local/redis/bin/redis-cli"
REDIS_CONFIG="/usr/local/redis/etc/redis.conf"
REDIS_PIDFILE="/var/run/redis_6379.pid"
REDIS_PORT="6379"

RETVAL=0

start() {
    echo -n "Đang khởi động Redis server: "
    if [ -f $REDIS_PIDFILE ] && kill -0 $(cat $REDIS_PIDFILE) > /dev/null 2>&1; then
        echo "Redis đã chạy với PID $(cat $REDIS_PIDFILE)"
        RETVAL=1
    else
        $REDIS_BIN $REDIS_CONFIG
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
            echo " [OK]"
        else
            echo " [FAILED]"
        fi
    fi
    return $RETVAL
}

stop() {
    echo -n "Đang dừng Redis server: "
    if [ ! -f $REDIS_PIDFILE ]; then
        echo "PID file không tồn tại, Redis có thể chưa chạy."
        RETVAL=1
    else
        PID=$(cat $REDIS_PIDFILE)
        $REDIS_CLI -p $REDIS_PORT shutdown
        while [ -x "/proc/${PID}" ]
        do
            echo "Đang đợi Redis dừng..."
            sleep 1
        done
        rm -f $REDIS_PIDFILE
        echo " [OK]"
        RETVAL=0
    fi
    return $RETVAL
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        if [ -f $REDIS_PIDFILE ]; then
            PID=$(cat $REDIS_PIDFILE)
            if ps -p $PID > /dev/null; then
                echo "Redis đang chạy với PID $PID"
                RETVAL=0
            else
                echo "PID file tồn tại nhưng tiến trình không chạy. Xóa PID file."
                rm -f $REDIS_PIDFILE
                RETVAL=1
            fi
        else
            echo "Redis không chạy."
            RETVAL=3
        fi
        ;;
    *)
        echo "Cách sử dụng: $0 {start|stop|restart|status}"
        RETVAL=1
esac

exit $RETVAL
Lưu tệp và thoát `vi`.

7. Kích Hoạt Dịch Vụ và Tự Khởi Động

Cấp quyền thực thi cho script và thêm nó vào danh sách các dịch vụ được quản lý bởi `chkconfig` để tự động khởi động cùng hệ thống.
# Cấp quyền thực thi cho script
sudo chmod +x /etc/init.d/redis_server

# Thêm dịch vụ vào hệ thống
sudo chkconfig --add redis_server

# Kích hoạt tự khởi động cho dịch vụ Redis
sudo chkconfig redis_server on

# Khởi động dịch vụ Redis ngay lập tức
sudo service redis_server start
Bạn có thể kiểm tra trạng thái của Redis bằng lệnh:
sudo service redis_server status

Thẻ: OpenEuler Redis installation linux Server

Đăng vào ngày 29 tháng 7 lúc 20:47