linux非root用户安装4.0.14版本redis

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

 

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

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

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

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:windows

# 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.pidapp

   保存好后启动redis:dom

$ 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

  看下进程,已经起来了:socket

$ 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用户开启客户端:tcp

$ 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):ide

$ 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支持远程接入的安全防御问题

相关文章
相关标签/搜索