• linux非root用户安装4.0.14版本redis


      先到官网https://redis.io/download下安装包,现在最新是5.0.5版本,可惜点击下载后被windows禁了,那就下4版本的,往下看Other versions的Old(4.0),点4版本最新4.0.14:

       redis的优点之一就是安装包特别小,很快就能下好,点个赞。接下来进入linux的wlf用户,通过rz上传至soft目录,开始执行安装操作:

    $ tar xzvf soft/redis-4.0.14.tar.gz 
    $ cd redis-4.0.14
    $ make

      make构建结束后,也就安装结束了:

        LINK redis-server
        INSTALL redis-sentinel
        CC redis-cli.o
        LINK redis-cli
        CC redis-benchmark.o
        LINK redis-benchmark
        INSTALL redis-check-rdb
        INSTALL redis-check-aof
    
    Hint: It's a good idea to run 'make test' ;)
    
    make[1]: Leaving directory `/home/wlf/redis-4.0.14/src'

      启动redis前我们用vi改下配置文件redis.conf:

    # By default, if no "bind" configuration directive is specified, Redis listens
    # for connections from all the network interfaces available on the server.
    # It is possible to listen to just one or multiple selected interfaces using
    # the "bind" configuration directive, followed by one or more IP addresses.
    #
    # Examples:
    #
    # bind 192.168.1.100 10.0.0.1
    # bind 127.0.0.1 ::1
    #
    # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
    # internet, binding to all the interfaces is dangerous and will expose the
    # instance to everybody on the internet. So by default we uncomment the
    # following bind directive, that will force Redis to listen only into
    # the IPv4 lookback interface address (this means Redis will be able to
    # accept connections only from clients running into the same computer it
    # is running).
    #
    # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
    # JUST COMMENT THE FOLLOWING LINE.
    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    bind 127.0.0.1
    
    # Protected mode is a layer of security protection, in order to avoid that
    # Redis instances left open on the internet are accessed and exploited.
    #
    # When protected mode is on and if:
    #
    # 1) The server is not binding explicitly to a set of addresses using the
    #    "bind" directive.
    # 2) No password is configured.
    #
    # The server only accepts connections from clients connecting from the
    # IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain
    # sockets.
    #
    # By default protected mode is enabled. You should disable it only if
    # you are sure you want clients from other hosts to connect to Redis
    # even if no authentication is configured, nor a specific set of interfaces
    # are explicitly listed using the "bind" directive.
    protected-mode yes

      在bind 127.0.0.1加#注掉,将protected-mode yes改为protected-mode no去掉保护策略,这样就能支持远程连接了。

    # By default Redis does not run as a daemon. Use 'yes' if you need it.
    # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
    daemonize no
    
    # If a pid file is specified, Redis writes it where specified at startup
    # and removes it at exit.
    #
    # When the server runs non daemonized, no pid file is created if none is
    # specified in the configuration. When the server is daemonized, the pid file
    # is used even if not specified, defaulting to "/var/run/redis.pid".
    #
    # Creating a pid file is best effort: if Redis is not able to create it
    # nothing bad happens, the server will start and run normally.
    pidfile /var/run/redis_6379.pid

       默认redis不是在后台运行的,将daemonize no改为daemonize yes,另外当后台运行时默认生成的pid文件是在/var/run目录下,我们可以指定为自己的目录,如改为/home/wlf/redis-4.0.14/run/redis_6379.pid

       保存好后启动redis:

    $ src/redis-server redis.conf
    10702:C 23 Sep 15:08:56.153 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    10702:C 23 Sep 15:08:56.153 # Redis version=4.0.14, bits=64, commit=00000000, modified=0, pid=10702, just started
    10702:C 23 Sep 15:08:56.153 # Configuration loaded

      看下进程,已经起来了:

    $ netstat -nlp | grep 6379
    (Not all processes could be identified, non-owned process info
     will not be shown, you would have to be root to see it all.)
    tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      10703/src/redis-ser 
    tcp6       0      0 :::6379                 :::*                    LISTEN      10703/src/redis-ser

      我们克隆会话打开另一个窗口,进入wlf用户开启客户端:

    $ cd redis-4.0.14/
    $ src/redis-cli 
    127.0.0.1:6379> set wlf wumanshu
    OK
    127.0.0.1:6379> get wlf
    "wumanshu"

       如果我们想从客户端远程连接服务端,只需指定服务端ip即可,假如redis服务端ip是10.110.1.11,那么我在客户端机器使用命令需要加参数h(默认端口也是6379):

    $ src/redis-cli -h 10.110.1.11

      关闭客户端,同时也将关闭服务端:

    $ src/redis-cli shutdown
    $ netstat -nlp | grep 6379
    (Not all processes could be identified, non-owned process info
     will not be shown, you would have to be root to see it all.)

       或者使用telnet也可以从远程机器连接到redis。不过因为以上设置,redis本身的安全机制已经荡然无存,此时很容被入侵,具体方法和安全防护措施参见redis支持远程接入的安全防护问题

  • 相关阅读:
    cachecloud搭建.md
    Python glob.md
    python textwrap.md
    Python shutil.md
    python openpyxl.md
    os.path.md
    Python datetime.md
    jenkins运行脚本 报错:UnicodeEncodeError: 'gbk' codec can't encode character 'xa9' in position 449: illegal multibyte sequence
    Python如何去实际提高工作的效率?也许这个会有用!
    Jmeter如何测试接口
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/11572368.html
Copyright © 2020-2023  润新知