• LNMP redis 安装、PHPredis扩展配置、服务器自启动、redis认证密码


    背景: LNMP 环境(centos7)

    一、 安装redis

    1.下载,解压,编译

    $ cd /usr/local
    $ wget http://download.redis.io/releases/redis-3.2.8.tar.gz $ tar -xzf redis-3.2.8.tar.gz $ cd redis-3.2.8 $ make

    2 编译完成后,在src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。

    (注意:redis.conf并不在src目录下面,它在解压的根目录下面)

    mkdir /usr/redis
    cp redis-server  /usr/redis     (redis的src目录)
    cp redis-benchmark /usr/redis   (redis的src目录)
    cp redis-cli /usr/redis     (redis的src目录)
    cp redis.conf /usr/redis   (redis目录)
    cd /usr/redis

    3.启动redis服务

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

    当启动后可能会停止不了;一直处于启动的界面,(Ctrl+c 退出)
    
    如果停止不了则关掉;
    然后在/usr/redis下修改redis.conf 找到daemonize no 改为yes;保存;
    重新启动即可

     4. 重新进入并启动测试

     二、安装php-redis扩展

    1 下载PHPredis扩展文件。并上传到 /usr/local
    地址:http://pecl.php.net/package/redis
    tar -zxvf redis-3.2.8.tar.gz 
    cd redis-3.2.8  
    yum install php-devel
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make
    make install                    
    3 PHP配置文件php.ini最后一行, 加载redis扩展
    extension=redis.so

     3 重启服务(nginx,php-fpm)

    service nginx restart

    service php-fpm restart

      4 查看phpinfo

    三、设置开机启动:使用Redis启动脚本设置开机自启动

      推荐在生产环境中使用启动脚本方式启动redis服务。启动脚本 redis_init_script 位于位于Redis的 /utils/ 目录下。

      (以下是我修改过后的脚本,已测试,可以直接使用)

    #!/bin/sh
    # chkconfig: 2345 90 10 # 加上这句话,且注释掉
    # description: start and stop redis
    #

    PATH=/usr/local/bin:/sbin:/usr/bin:/bin
    REDISPORT=6379
    EXEC=/usr/redis/redis-server
    CLIEXEC=/usr/redis/redis-cli

    PIDFILE=/var/run/redis.pid
    CONF="/usr/redis/redis.conf"
    AUTH="666"

    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
    sleep 2
    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/redisd {start|stop|restart|force-reload}" >&2
    exit 1
    esac

     1. 将以上启动脚本复制到/etc/init.d目录下,本例将启动脚本命名为redisd(通常都以d结尾表示是后台自启动服务)。

    cp redis_init_script /etc/init.d/redisd

    2、设置权限

    chmod 755 redisd

     3、启动测试

    /etc/init.d/redisd start

     启动成功会提示如下信息:

    Starting Redis server...
    Redis is running...

    使用redis-cli测试:

    [root@redis ~]# /usr/local/redis-cli
    127.0.0.1:6379> set foo bar
    OK
    127.0.0.1:6379> get foo
    "bar"

     4.  设置为开机自启动

    此处直接配置开启自启动 chkconfig redisd on 将报错误: service redisd does not support chkconfig 

    #!/bin/sh
    # chkconfig:   2345 90 10  # 加上这句话,且注释掉
    # description:  Redis is a persistent key-value database
    #

     再设置即可成功。

    #设置为开机自启动服务器
    chkconfig redisd on
    #打开服务
    service redisd start
    #关闭服务
    service redisd stop

     5、关机重启测试

    reboot
    
    
    四、  添加认证密码

    1 打开配置文件: /usr/redis/redis.conf
    #requirepass foobared  

    去掉注释,改为以下内容,认证密码就是:666

    requirepass 666 

      2 重启redis  ,在这里我重启。一直不能用。。干脆直接重启服务器

     3  进入redis

     /usr/redis/redis-cli

    会提示error,这是属于正常现象。

    NOAUTH Authentication required.
    auth  666

    4 重启服务器


    五、 测试

    1 、 在你服务器下新建PHP文件
    2 、 输入以下代码

    <?php
    $redis = new redis();
    $redis->connect('127.0.0.1', 6379);
    $redis->auth(“666”);
    $redis->set('redistest','666666');
    echo $redis->get('redistest');
    
    ?>




    
    
    
  • 相关阅读:
    后台点赞 接口
    三表联查
    后台投票 接口
    MSXML insertBefore(IXMLDOMNode *newChild, VARIANT refChild) 传参
    WTL中菜单栏及工具栏项状态改变应注意的地方
    使用WTL的消息反射封装CEdit实现监听控件文本改变事件
    修改字体
    CEdit实现文本换行
    VC中获取窗口控件相对客户区的坐标
    关闭HTC手机充电时屏幕一直亮着绿色电池的办法
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/6701150.html
Copyright © 2020-2023  润新知