redis-server in ubuntu14.04: Bind address already

2019-03-15 09:42发布

问题:

I started redis server on ubuntu by typing this on terminal: $redis-server

This results in following > 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

How can I fix this problem, it there any manual or automated process to fix this binding.

回答1:

$ ps aux | grep redis

Find the port that its running on.. In my case..

MyUser  8821   0.0  0.0  2459704    596   ??  S    4:54PM   0:03.40 redis-server *:6379

And then close the port manually

$ kill -9 8821

Re-run redis

$ redis-server


回答2:

for me, after lots of problems, this solved my issue:

 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  

after finding redis, kill it!

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:

I read the documentation on http://www.redis.io , I opened the redis.conf file to configure the redis-server, its located at /etc/redis/redis.conf

$ sudo subl /etc/redis/redis.conf

Instead of sublime editor you can use editor of your choice, viz. nano, vi, emacs, vim, gedit.

In this file I uncommented the #bind 127.0.0.1 line. Hence, instead of 0.0.0.0:6379 now its 127.0.0.1:6379

Restart the redis server

$ sudo service redis-server restart

It will state, The server is now ready to accept connections on port 6379

This will put your server up, For any more detailed configuration and settings you can follow this redis-server on ubuntu



回答4:

I prefer to use the command param -ef,

ps -ef|grep redis

the -efmeans

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

then kill the pid

kill -9 $pid


回答5:

I solved this problem on Mac by just typing redis-cli shutdown, after this just re open the terminal and type redid-server and it will work .