单机redis基本安装

来源:互联网 发布:golang sleep 编辑:程序博客网 时间:2024/05/24 02:38
单机redis基本安装CentsOS 6.7 (Santiago)Redis  3.2.11 64bit-检测redis依赖包,参数# rpm -qa | grep tcltcl-8.5.7-6.el6.x86_64tcl-devel-8.5.7-6.el6.x86_64vi /etc/security/limits.conf 最后增加redis              soft    nofile  65536redis              hard    nofile  65536 vi /etc/pam.d/login文件最后增加 session    required     pam_limits.so1.配置yum仓库,可以配本地或者阿里云的yum,不再详述参考链接:http://blog.csdn.net/evils798/article/details/784017842.yum 安装gcc等依赖库# yum install  -y gcc gcc-c++    Installed:  gcc.x86_64 0:4.4.7-18.el6                    gcc-c++.x86_64 0:4.4.7-18.el6                                                       Dependency Installed:  cloog-ppl.x86_64 0:0.15.7-1.2.el6             cpp.x86_64 0:4.4.7-18.el6              libstdc++-devel.x86_64 0:4.4.7-18.el6              ppl.x86_64 0:0.10.2-11.el6          Dependency Updated:  libgcc.i686 0:4.4.7-18.el6               libgcc.x86_64 0:4.4.7-18.el6               libgomp.x86_64 0:4.4.7-18.el6               libstdc++.x86_64 0:4.4.7-18.el6            Complete!3.下载 3.2.11版本的redis  # cd /usr/local/src/# wget http://download.redis.io/releases/redis-3.2.11.tar.gz--2017-11-08 18:30:18--  http://download.redis.io/releases/redis-3.2.11.tar.gzResolving download.redis.io... 109.74.203.151Connecting to download.redis.io|109.74.203.151|:80... connected.HTTP request sent, awaiting response... 302 FoundLocation: http://111.1.62.113/cloud/111.1.50.15/files/516100000648EA55//download.redis.io/releases/redis-3.2.11.tar.gz [following]--2017-11-08 18:30:18--  http://111.1.62.113/cloud/111.1.50.15/files/516100000648EA55//download.redis.io/releases/redis-3.2.11.tar.gzConnecting to 111.1.62.113:80... connected.HTTP request sent, awaiting response... 200 OKLength: 1550452 (1.5M) [application/octet-stream]Saving to: “redis-3.2.11.tar.gz”100%[=======================================================================>] 1,550,452   --.-K/s   in 0.1s    2017-11-08 18:30:18 (10.5 MB/s) - “redis-3.2.11.tar.gz” saved [1550452/1550452]3.下载完成后解压、编译、安装# tar zxf redis-3.2.11.tar.gz  # lsredis-3.2.11  redis-3.2.11.tar.gz# cd redis-3.2.11# ls00-RELEASENOTES  CONTRIBUTING  deps     Makefile   README.md   runtest          runtest-sentinel  src    utilsBUGS             COPYING       INSTALL  MANIFESTO  redis.conf  runtest-cluster  sentinel.conf     tests4.编译安装redis,make之前用make test 检查是否存在错误#make testmake[1]: Entering directory `/usr/local/src/redis-3.2.11/src'39 seconds - unit/geo  98 seconds - unit/type/list-3  111 seconds - integration/replication-psync\o/ All tests passed without errors!  --test测试成功,没有错误Cleanup: may take some time... OKmake[1]: Leaving directory `/usr/local/src/redis-3.2.11/src'5.编译安装# make && make installcd src && make allmake[1]: Entering directory `/usr/local/src/redis-3.2.11/src'    INSTALL redis-sentinel    CC redis-cli.o    LINK redis-cli    CC redis-benchmark.o    LINK redis-benchmark    INSTALL redis-check-rdbHint: It's a good idea to run 'make test' ;)make[1]: Leaving directory `/usr/local/src/redis-3.2.11/src'cd src && make installmake[1]: Entering directory `/usr/local/src/redis-3.2.11/src'Hint: It's a good idea to run 'make test' ;)    INSTALL install    INSTALL install    INSTALL install    INSTALL install    INSTALL installmake[1]: Leaving directory `/usr/local/src/redis-3.2.11/src'6.查看redis进程,系统中无redis进程# ps -ef | grep redisroot      9688  4443  0 18:35 pts/1    00:00:00 grep redis7.创建相关文件夹# mkdir -p /usr/local/redis# mkdir -p /redis/data# mkdir -p /usr/local/redis/bin进入utils目录,使用install_server.sh脚本配置安装redis # cd utils/# pwd/usr/local/src/redis-3.2.11/utils# ./install_server.sh Welcome to the redis service installerThis script will help you easily set up a running redis serverPlease select the redis port for this instance: [6379] 7000                                          --指定端口 Please select the redis config file name [/etc/redis/7000.conf] /usr/local/redis/redis_7000.conf        --指定conf配置文件目录Please select the redis log file name [/var/log/redis_7000.log] /usr/local/redis/redis_7000.log           --指定log位置Please select the data directory for this instance [/var/lib/redis/7000] /redis/data/                       --指定数据文件位置Please select the redis executable path [/usr/local/bin/redis-server]   Selected config:Port           : 7000                                        Config file    : /usr/local/redis/redis_7000.confLog file       : /usr/local/redis/redis_7000.logData dir       : /redis/data/Executable     : /usr/local/bin/redis-server                      Cli Executable : /usr/local/bin/redis-cliIs this ok? Then press ENTER to go on or Ctrl-C to abort.Copied /tmp/7000.conf => /etc/init.d/redis_7000                     --生成的redis启动脚本redis_7000Installing service...Successfully added to chkconfig! Successfully added to runlevels 345!             Starting Redis server...Installation successful!8.安装完成后查看redis进程# netstat  -tpnl | grep 7000tcp        0      0 127.0.0.1:7000              0.0.0.0:*                   LISTEN      9725/redis-server 1 # /etc/init.d/redis_7000  statusRedis is running (9725)9.增加redis用户来启动维护redis,  (-s 指定shell  -M 不创建HOME目录)# useradd   redis -s  /sbin/nologin  -M查看redis id# id redisuid=501(redis) gid=501(redis) groups=501(redis)10.修改相关目录权限# chown  -R redis.redis /usr/local/redis/# ls -al /redis/drwxr-xr-x.  2 root root 4096 Nov  8 18:36 data# chown  -R redis.redis /redis/data/# /etc/init.d/redis_7000 stopStopping ...Redis stopped11.修改启动脚本,增加切换用户redis 执行# vi /etc/init.d/redis_7000 注意以下几行变量的路径都要有redis用户的读写权限,否则在使用/etc/init.d/redis_7000脚本关闭redis服务的时候会报redis_7000.pid does not exist, process is not running错误,导致无法正常关闭redis#!/bin/shEXEC=/usr/local/bin/redis-server             CLIEXEC=/usr/local/bin/redis-cliPIDFILE=/usr/local/redis/redis_7000.pid     --指定pid文件路径,在/usr/local/redis/redis_7000.conf配置文件中的也要将pid文件的路径修改为/usr/local/redis/redis_7000.pidCONF="/usr/local/redis/redis_7000.conf"    REDISPORT="7000"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        ;;    stop)        if [ ! -f $PIDFILE ]        then            echo "$PIDFILE does not exist, process is not running"        else            PID=$(cat $PIDFILE)            echo "Stopping ..."            $CLIEXEC -p $REDISPORT shutdown            while [ -x /proc/${PID} ]            do                echo "Waiting for Redis to shutdown ..."                sleep 1            done            echo "Redis stopped"        fi        ;;    status)        PID=$(cat $PIDFILE)        if [ ! -x /proc/${PID} ]        then            echo 'Redis is not running'        else            echo "Redis is running ($PID)"        fi        ;;    restart)        $0 stop        $0 start        ;;    *)        echo "Please use start, stop, restart or status as first argument"        ;;esac12.增加redis用户在redis_7000脚本中的echo "Starting Redis server..."下面增加一段执行语句                 sudo -u redis $EXEC $CONF --pidfile $PIDFILE添加后如下:case "$1" in    start)        if [ -f $PIDFILE ]        then            echo "$PIDFILE exists, process is already running or crashed"        else            echo "Starting Redis server..."            sudo -u redis $EXEC $CONF --pidfile $PIDFILE            13.启动,关闭redis 测试相关功能          # /etc/init.d/redis_7000 startStarting Redis server...# ps -aux | grep redisWarning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQredis     9781  0.0  0.1 133524  7564 ?        Ssl  18:48   0:00 /usr/local/bin/redis-server 127.0.0.1:7000                                                    root      9789  0.0  0.0 103304   900 pts/1    S+   18:49   0:00 grep redis14.使用客户端工具登录测试redis(无密码验证模式)[root@localhost redis]# redis-cli  -h  127.0.0.1 -p 7000127.0.0.1:7000> pingPONG127.0.0.1:7000> echo hi"hi"127.0.0.1:7000> 127.0.0.1:7000> 127.0.0.1:7000> select 1OK127.0.0.1:7000[1]> INCR foo(integer) 1127.0.0.1:7000[1]> set bar 1OK127.0.0.1:7000[1]> get bar"1"关闭redis# /etc/init.d/redis_7000 stopStopping ...Redis stopped

原创粉丝点击