ubuntu14.04中的redis-server:绑定地址已在使用中

aru*_*uns 19 port in-memory-database redis server

我在ubuntu上启动了redis服务器,方法是在终端上输入:$ redis-server

这导致以下> http://paste.ubuntu.com/12688632/

aruns ~ $ redis-server
27851:C 05 Oct 15:16:17.955 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
27851:M 05 Oct 15:16:17.957 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
27851:M 05 Oct 15:16:17.957 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
27851:M 05 Oct 15:16:17.958 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
27851:M 05 Oct 15:16:17.958 # Creating Server TCP listening socket *:6379: bind: Address already in use
Run Code Online (Sandbox Code Playgroud)

如何解决此问题,有任何手动或自动过程来修复此绑定.

Asl*_*aik 65

sudo service redis-server stop
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说就像一种魅力。我只是想知道为什么?它与“killall redis-server”有什么不同? (3认同)
  • 我厌倦了它们,这是唯一在 Ubuntu 上对我有用的一个 (3认同)

Chr*_*ght 63

$ ps aux | grep redis
Run Code Online (Sandbox Code Playgroud)

找到它运行的端口..在我的情况下..

MyUser  8821   0.0  0.0  2459704    596   ??  S    4:54PM   0:03.40 redis-server *:6379
Run Code Online (Sandbox Code Playgroud)

然后手动关闭端口

$ kill -9 8821
Run Code Online (Sandbox Code Playgroud)

重新运行redis

$ redis-server
Run Code Online (Sandbox Code Playgroud)

  • `killall redis-server` 会更简单。 (10认同)
  • sudo service redis-server stop 对我有用 (6认同)

Ima*_*deh 13

对我来说,经过很多问题,这解决了我的问题:

 root@2c2379a99b47:/home/ ps -aux | grep redis
    redis     3044  0.0  0.0  37000  8780 ?        Ssl  14:59   0:00 /usr/bin/redis-server *:6379  
Run Code Online (Sandbox Code Playgroud)

找到redis后,杀了它!

root@2c2379a99b47:/home# sudo kill -9 3044
root@2c2379a99b47:/homek# sudo service redis-server restart
Stopping redis-server: redis-server.
Starting redis-server: redis-server.
root@2c2379a99b47:/home# sudo service redis-server status 
redis-server is running
Run Code Online (Sandbox Code Playgroud)


小智 12

我在 Mac 上通过输入 redis-cli shutdown 解决了这个问题,之后只需重新打开终端并输入 redid-server 就可以了。


tim*_*v07 12

这对我有用:

$ killall redis-server
Run Code Online (Sandbox Code Playgroud)

并将所有内容组合在一行中:

$ killall redis-server; redis-server
Run Code Online (Sandbox Code Playgroud)


aru*_*uns 7

我阅读了http://www.redis.io上的文档,我打开了redis.conf文件来配置redis-server,其位于/etc/redis/redis.conf

$ sudo subl /etc/redis/redis.conf
Run Code Online (Sandbox Code Playgroud)

您可以使用自己选择的编辑器来代替崇高的编辑器,即。纳米,vi,emacs,vim,gedit。

在此文件中,我未注释该#bind 127.0.0.1行。因此,而不是0.0.0.0:6379现在127.0.0.1:6379

重启redis服务器

$ sudo service redis-server restart
Run Code Online (Sandbox Code Playgroud)

它将指出:服务器现在准备接受端口上的连接 6379

这将启动您的服务器,有关任何更详细的配置和设置,您可以在ubuntu上关注此redis-server


小智 6

正如它所说,该进程已经在运行,所以最好的办法是停止它,分析并重新启动它,然后执行以下命令:

redis-cli ping #should return 'PONG'
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题:

$ ps -ef |grep redis

root      6622  4836  0 11:07 pts/0    00:00:00 grep redis
redis     6632     1  0 Jun23 ?        04:21:50 /usr/bin/redis-server *:6379
Run Code Online (Sandbox Code Playgroud)

找到redis进程,并停止它!

$ kill -9 6632
$ service redis restart


Stopping redis-server: [  OK  ]
Starting redis-server: [  OK  ]


$ service redis status
Run Code Online (Sandbox Code Playgroud)

否则,如果这一切都不起作用,请尝试输入 redis-cli

希望能帮助到你 :)


Zgp*_*ace 5

我更喜欢使用命令 param -ef

ps -ef|grep redis
Run Code Online (Sandbox Code Playgroud)

-ef方法

-A      Display information about other users' processes, including those
         without controlling terminals.
-e      Identical to -A.

-f      Display the uid, pid, parent pid, recent CPU usage, process start
        time, controlling tty, elapsed CPU usage, and the associated com-
        mand.  If the -u option is also used, display the user name
        rather then the numeric uid.  When -o or -O is used to add to the
        display following -f, the command field is not truncated as se-
        verely as it is in other formats.
Run Code Online (Sandbox Code Playgroud)

然后杀死pid

kill -9 $pid
Run Code Online (Sandbox Code Playgroud)