CentOS-下安装-Redis-及-redis-php-扩展

1,668 阅读2分钟

官方地址:

[https://redis.io/download#installation](https://redis.io/download#installation)

安装步骤:

 wget http://download.redis.io/releases/redis-4.0.10.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make

安装异常处理:

前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。 异常一: make[2]: cc: Command not found 异常原因:没有安装gcc 解决方案:yum install gcc-c++

异常二: zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory 异常原因:一些编译依赖或原来编译遗留出现的问题 解决方案:make distclean。清理一下,然后再make

make成功以后,需要make test。在make test出现异常。 异常一: couldn't execute "tclsh8.5": no such file or directory 异常原因:没有安装tcl 解决方案:yum install -y tcl

配置:

make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等。 方便期间用cp命令复制到/usr/local/bin目录下运行,便于直接在命令行中任意位置调用。

cp redis-server /usr/local/bin/
cp redis-cli /usr/local/bin/

然后新建目录,存放配置及运行时文件

mkdir /user/local/redis   # 存放配置文件
mkdir /var/redis          # 存放运行时文件
mkdir /var/redis/log      # 存放LOG文件
mkdir /var/redis/run      # 存放PID文件
mkdir /var/redis/6379     # 存放数据库文件

在redis解压根目录中找到配置文件模板,复制到如下位置:

cp redis.conf /usr/local/redis/redis.conf

通过vim命令修改redis.conf

daemonize yes                            # 支持后台运行
pidfile /var/redis/run/redis_6379.pid    # 设置pid文件
logfile /var/redis/log/redis_6379.log    # 设置log文件
dir /var/redis/6379                      # 设置数据库目录

最后可如下运行redis:

$ redis-server /usr/local/redis/redis.conf

建议运行方式优化如下: 编写脚本,vim /etc/init.d/redis

# chkconfig: 2345 10 90
# description: Start and Stop redis

PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379 #实际环境而定
EXEC=/usr/local/bin/redis-server #实际环境而定
REDIS_CLI=/usr/local/bin/redis-cli #实际环境而定

PIDFILE=/var/redis/run/redis_6379.pid
CONF="/usr/local/redis/redis.conf" #实际环境而定
# AUTH="1234" # 若有密码需配置此项

case "$1" in
        start)
                if [ -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is already running or crashed."
                else
                        echo "Starting Redis server..."
                        $EXEC $CONF
                fi
                if [ "$?"="0" ]
                then
                        echo "Redis is running..."
                fi
                ;;
        stop)
                if [ ! -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is not running."
                else
                        PID=$(cat $PIDFILE)
                        echo "Stopping..."
                        $REDIS_CLI -p $REDISPORT SHUTDOWN
                        while [ -x $PIDFILE ]
                        do
                                echo "Waiting for Redis to shutdown..."
                                sleep 1
                        done
                        echo "Redis stopped"
                fi
                ;;
        restart|force-reload)
                ${0} stop
                ${0} start
                ;;
        *)
                echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
                exit 1
esac

设置执行权限:

chmod +x /etc/init.d/redis

设置开机启动:

# 开启服务自启动
chkconfig redis on

手动执行方式:

# 尝试启动或停止redis
service redis start
service redis stop
service redis restart

编译php的redis扩展

  1. 下载redis扩展(pecl.php.net/package/red…)(stable版本)
  2. tar zxvf 扩展包
  3. cd 扩展包
  4. /php/bin/phpize    执行ize 根据php内核版本生成配置文件
  5. 执行命令:./configure --with-php-config=/php/bin/php-config
  6. 执行命令:make && make install
  7. 复制生成的redis.so文件的目录路径(make结束后会显示)
  8. vim /php/lib/php.ini extension=生成的路径/redis.so
  9. service php-fpm restart

参考:

安装:www.cnblogs.com/haoxinyue/p… 设置开机启动:my.oschina.net/indestiny/b…