ubuntu14.04中的redis-server:绑定地址已经在使用中
Posted
技术标签:
【中文标题】ubuntu14.04中的redis-server:绑定地址已经在使用中【英文标题】:redis-server in ubuntu14.04: Bind address already in use 【发布时间】:2016-01-02 00:28:15 【问题描述】:我在 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
我该如何解决这个问题,是否有任何手动或自动过程来修复此绑定。
【问题讨论】:
【参考方案1】:我阅读了http://www.redis.io 上的文档,我打开了redis.conf
文件来配置redis-server
,它位于/etc/redis/redis.conf
$ sudo subl /etc/redis/redis.conf
您可以使用您选择的编辑器来代替崇高的编辑器,即。 nano、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
它会声明,服务器现在准备好接受端口6379
上的连接
这将使您的服务器启动,对于任何更详细的配置和设置,您可以关注此redis-server on ubuntu
【讨论】:
【参考方案2】:对我来说,经过很多问题,这解决了我的问题:
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
找到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
【讨论】:
【参考方案3】:$ ps aux | grep redis
找到它运行的端口..在我的情况下..
MyUser 8821 0.0 0.0 2459704 596 ?? S 4:54PM 0:03.40 redis-server *:6379
然后手动关闭端口
$ kill -9 8821
重新运行redis
$ redis-server
【讨论】:
killall redis-server
会更简单。【参考方案4】:
我更喜欢使用命令参数-ef
,
ps -ef|grep redis
-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.
然后杀死pid
kill -9 $pid
【讨论】:
【参考方案5】:我在 Mac 上通过输入 redis-cli shutdown
解决了这个问题,之后只是
重新打开终端并输入redis-server
即可。
【讨论】:
是的,这个解决了我的问题。谢谢! 谢谢,我也遇到了同样的问题。我解决了我的问题。【参考方案6】:正如它所说,该进程已经在运行,所以最好的办法是停止它,分析并重新启动它,这里有以下命令:
redis-cli ping #should return 'PONG'
这解决了我的问题:
$ 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
找到redis进程,并停止它!
$ kill -9 6632
$ service redis restart
Stopping redis-server: [ OK ]
Starting redis-server: [ OK ]
$ service redis status
否则,如果这一切都不起作用,请尝试输入redis-cli
希望对你有帮助:)
【讨论】:
【参考方案7】:在操作系统中启动后杀死正在运行的进程对我有用。在 Ubuntu 操作系统中防止 redis 在启动时启动:
sudo systemctl disable redis-server
【讨论】:
【参考方案8】:sudo service redis-server stop
【讨论】:
这个对我来说就像一个魅力。我只是想知道为什么?它与'killall redis-server'有什么不同? 我把它们都累坏了,这是唯一一个在 Ubuntu 上对我有用【参考方案9】:你可以试试
$ make
然后
$ sudo cp src/redis-cli /usr/local/bin/
在终端上安装 redis 及其 redis-cli 命令。
最后,您可以使用redis-cli shutdown
命令。希望这个答案可以帮到你。
【讨论】:
【参考方案10】:在我的情况下,我尝试了几次手动终止端口,但没有成功。所以我采取了简单的方法,重新安装并在那之后像魅力一样工作。如果您使用的是 Debian/Ubuntu:
sudo apt remove redis-server // No purge needed
sudo apt update
sudo apt install redis-server // Install once again
sudo systemctl status redis-server // Check status of the service
redis-server // initializes redis
不是技术上最明智的路径,但没有其他方法。
【讨论】:
【参考方案11】:这对我有用:
$ killall redis-server
并将所有内容组合在一行中:
$ killall redis-server; redis-server
【讨论】:
以上是关于ubuntu14.04中的redis-server:绑定地址已经在使用中的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu 14.04 下安装redis后运行redis-cli 报出redis Connection refused错误已解决
Ubuntu 14.04 中的 OpenGL 4.3 开发设置
Ubuntu 14.04 中的 production.log 在哪里 - Rails 4
Ubuntu 14.04 中的 webgrind 分析文件存储在哪里?
phpMyAdmin - 错误 |缺少 mbstring 扩展名。请检查您在 Ubuntu 14.04 LTS 中的 PHP 配置