我在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
如何解决此问题,有任何手动或自动过程来修复此绑定。
答案 0 :(得分:50)
$ 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
答案 1 :(得分:12)
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
答案 2 :(得分:6)
我阅读了http://www.redis.io上的文档,我打开了redis.conf
文件来配置redis-server
,其位于/etc/redis/redis.conf
$ sudo subl /etc/redis/redis.conf
您可以使用您选择的编辑器,而不是sublime编辑器。 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
进行操作答案 3 :(得分:2)
我更喜欢使用命令参数-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
答案 4 :(得分:2)
在Mac上,我只需输入redis-cli shutdown即可解决此问题, 重新打开终端并输入redid-server,它将正常工作。
答案 5 :(得分:2)
您可以尝试
$ make
然后
$ sudo cp src/redis-cli /usr/local/bin/
在终端上以安装redis及其redis-cli命令。
最后,您可以使用redis-cli shutdown
命令。希望这个答案可以帮助您。
答案 6 :(得分:1)
这对我有用:
$ killall redis-server
并将所有内容合并为一行:
$ killall redis-server; redis-server
答案 7 :(得分:0)
正如它所说,该进程已经在运行,所以最好的办法是停止它,分析并重新启动它,然后执行以下操作:
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
希望它会有所帮助:)
答案 8 :(得分:0)
杀死在操作系统中启动后正在运行的进程对我来说很有效。为了防止Redis在Ubuntu OS中启动时启动:
sudo systemctl disable redis-server
答案 9 :(得分:0)
sudo service redis-server stop
答案 10 :(得分:0)
就我而言,我尝试了多次手动终止端口,但没有成功。所以我选择了简单的方法,重新安装,然后像魅力一样工作。如果您使用的是 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
不是技术上最明智的方法,但其他方法都不起作用。