Cài đặt Memcache cPanel & WHM CentOS

Tác giả NetworkEngineer, T.Năm 21, 2020, 09:05:49 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cài đặt Memcache cPanel & WHM CentOS


Memcached là một dịch vụ cho phép lưu trữ toàn bộ các bảng cơ sở dữ liệu trong bộ nhớ, tăng tốc đáng kể các truy vấn đến các bảng đó và giảm tải cơ sở dữ liệu. Trong WordPress và W3 Total Cache, mô-đun Memcached cho phép bạn lưu trữ tất cả các cache tables trong bộ nhớ.


Hướng dẫn này được sử dụng để thiết lập Memcached trên CentOS.

1. Cài đặt Memcached thông qua RPM

Cách dễ nhất để cài đặt Memcached là thông qua chương trình quản lý gói như  yum  hoặc  apt .

Bây giờ chúng ta chỉ cần sử dụng yum (hoặc apt) để cài đặt Memcached:

Mã nguồn [Chọn]
yum install memcached
Sau đó, bạn có thể xác nhận Memcached đã hoạt động bằng cách gọi nó.

Mã nguồn [Chọn]
memcached -h
memcached 1.2.6

2. Cài đặt tiện ích mở rộng Memcache PECL

Mặc dù Memcached đang chạy trên máy chủ, nhưng PHP không thể truy cập được nếu không có phần mở rộng PECL. May mắn thay, đây là một quá trình rất dễ dàng, chỉ cần sử dụng  pecl lệnh.

Mã nguồn [Chọn]
pecl install memcache
Nếu cài đặt pecl thất bại, bạn sẽ cần sử dụng phương pháp thay thế khác:

Mã nguồn [Chọn]
$ wget http://pecl.php.net/get/memcache-3.0.6.tgz
tar xvfz memcache-3.0.6.tgz
cd memcache-3.0.6
phpize
./configure
make && make install

Sau đó thêm phần mở rộng memcache vào tập tin php.ini của bạn, thường là tại /usr/local/lib/php.ini.

Mã nguồn [Chọn]
extension=memcache.so
Và cuối cùng khởi động lại Apache để nó sẽ nhận tiện ích mở rộng mới:

Mã nguồn [Chọn]
/etc/init.d/httpd restart
Chạy phpinfo () trên máy chủ web của bạn bây giờ sẽ xác nhận rằng memcache đã được cài đặt:


3. Thiết lập Memcached chạy như một dịch vụ

Chỉ cần cài đặt Memcache sẽ không tự làm được gì, chúng ta thực sự cần phải khởi động một số phiên bản của nó để máy chủ web của chúng ta kết nối và chúng ta cần Memcached để tự động khởi động khi máy chủ khởi động lại.

Để làm điều này, chúng ta cần cài đặt một tập lệnh mới tại /etc/init.d/memcached. Đối với điều này, tôi thường sử dụng một tập lệnh tùy chỉnh hơi thô, vì nó giả định rằng memcached đang được sử dụng riêng cho máy chủ web của chúng ta. Tuy nhiên, hầu hết thời gian điều này là đúng và nó hoạt động tốt.

Nội dung tập lệnh script của Memcached sẽ như sau:

Mã nguồn [Chọn]
#!/bin/sh
        #
        # memcached    Startup script for memcached processes
        #
        # chkconfig: - 90 10
        # description: Memcache provides fast memory based storage.
        # processname: memcached

PORT=11211
USER=memcached
MAXCONN=1024
CACHESIZE=64
OPTIONS=""

if [ -f /etc/sysconfig/memcached ];then
    . /etc/sysconfig/memcached
fi

# Check that networking is up.
. /etc/sysconfig/network

if [ "$NETWORKING" = "no" ]
then
    exit 0
fi

[ -f memcached ] || exit 0

if [ ! -d /var/run/memcached/ ];then
    mkdir -p /var/run/memcached/
fi
if [[ ! $(cat /etc/passwd | grep "${USER}") ]];then
    USER=nobody
fi

RETVAL=0
pidfile=${PIDFILE-/var/run/memcached/memcached.pid}
lockfile=${LOCKFILE-/var/lock/subsys/memcached}
prog="memcached"

start() {
    echo -n $"Starting $prog: "
    # Ensure that /var/run/memcached has proper permissions
    if [ "`stat -c %U /var/run/memcached`" != "$USER" ]; then
        chown $USER /var/run/memcached
    fi

    echo -n $"Starting $prog "
    # Starting memcached with 64MB memory on port 11211 as deamon and user nobody
    memcached -d -p $PORT -u $USER  -m $CACHESIZE -c $MAXCONN -P ${pidfile} $OPTIONS

    RETVAL=$?
    echo
    return $RETVAL
}

stop() {
    if test "x`pidof memcached`" != x; then
        echo -n $"Stopping $prog "
        killall memcached
        echo
    fi
    RETVAL=$?
    echo
    if [ $RETVAL -eq 0 ] ; then
        rm -f ${lockfile} ${pidfile}
    fi
    #killproc -p ${pidfile} /usr/bin/memcached
    return $RETVAL
}

case "$1" in
    start)
        start
        ;;

    stop)
        stop
        ;;

    restart)
        stop
        start
        ;;

    condrestart)
        if test "x`pidof memcached`" != x; then
            stop
            start
        fi
        ;;

    *)
        echo $"Usage: $0 {start|stop|restart|condrestart}"
        exit 1

esac

exit $RETVAL

Vì vậy, chỉ cần tải tập lệnh này vào /etc/init.d. Sau đó đặt quyền cho nó để thực thi:

Mã nguồn [Chọn]
chmod 755 memcached
Sau đó đăng ký tập lệnh để nó tự khởi động cùng với máy chủ:

Mã nguồn [Chọn]
chkconfig --add memcached
Bây giờ bạn có thể khởi động memcached như một dịch vụ.

Mã nguồn [Chọn]
service memcached start
Và bạn có thể xác nhận rằng memcached đã kích hoạt một số trường hợp bằng cách kiểm tra dùng lệnh ps.

Mã nguồn [Chọn]
ps -e | grep memcached
22805 ?        00:00:59 memcached
22807 ?        00:00:58 memcached
22809 ?        00:01:16 memcached
22811 ?        00:00:55 memcached
22813 ?        00:00:01 memcached
22815 ?        00:01:02 memcached
22817 ?        00:00:27 memcached
22819 ?        00:00:35 memcached
22821 ?        00:00:01 memcached
22823 ?        00:00:01 memcached
22825 ?        00:00:01 memcached

Bạn có thể cần thay đổi tập tin /etc/init.d/memcached để phù hợp với nhu cầu của bạn tùy thuộc vào những gì bạn đang sử dụng Memcached.