我通过在终端上输入以下内容在 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
我该如何解决这个问题,是否有任何手动或自动过程来修复此绑定。
$ 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
sudo service redis-server stop
我在 Mac 上只需输入
redis-cli shutdown
就解决了这个问题,之后就这样
重新打开终端并输入 redis-server
即可运行。
对我来说,在经历了很多问题之后,这解决了我的问题:
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
这对我有用:
$ killall redis-server
并将所有内容组合成一行:
$ killall redis-server; redis-server
正如它所说,该进程已经在运行,所以最好的办法是停止它,分析并重新启动它,然后执行以下命令:
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
希望有帮助:)
我阅读了 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
这将启动您的服务器,对于任何更详细的配置和设置,您可以按照此ubuntu上的redis-server
我更喜欢使用命令参数
-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
你可以尝试一下
$ make
然后
$ sudo cp src/redis-cli /usr/local/bin/
在终端上安装 redis,它是 redis-cli 命令。
最后,您可以使用
redis-cli shutdown
命令。希望这个回答可以帮到你。
终止操作系统启动后正在运行的进程对我有用。在 Ubuntu 操作系统中防止 redis 随启动启动:
sudo systemctl disable redis-server
我很晚才回答这个问题,但这是对我有用的解决方案,我认为由于我在docker中使用redis,我无法完全杀死redis服务器。 这对我有帮助,首先我通过命令停止了redis服务器
sudo systemctl stop redis
然后通过命令运行redis服务器
redis-server
就我而言,我多次尝试手动终止端口,但没有成功。所以我采取了简单的方法,重新安装,然后就开始工作了。如果您使用 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
这不是最技术性的路径,但其他方法都行不通。
如果您通过
snap
安装了 Redis 并尝试从其他地方运行它,也可能会发生这种情况。
如果是这种情况,您可以通过sudo snap stop redis
停止服务。
我不确定,但是当我第一次安装redis并遇到此消息时,结果发现这是由于redis服务器首先采用配置参数或path/to/redis.conf,所以当我在“之后什么也没传递” redis-server”它试图执行默认的redis.conf(绑定127.0.0.1,端口6379 ...),从而覆盖现有的默认redis.conf(其中包含相同的“绑定”和“端口”!!)。这就是我看到这个错误的原因,但可能你还有其他原因
问题表明redis使用的默认端口
6379
已被其他进程使用。
所以只需更改redis服务器的端口
redis-server --port 7000
将使用端口号 7000 启动 Redis 服务器。
进而
redis-cli -p 7000
- 现在使用它让您的客户端在此端口侦听。
sudo service redis-server stop
然后
redis-服务器
这两个命令解决了我的问题
这对我有用:
killall redis-server