起因想学习一下spring-web,  后想加一下redis. 安装后启动不起来

错误:

service redis status
× redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Wed 2025-09-17 08:42:01 CST; 34s ago
       Docs: http://redis.io/documentation,
             man:redis-server(1)
    Process: 4717 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf --supervised systemd --daemonize no (code=exited, status=1/FAILURE)
   Main PID: 4717 (code=exited, status=1/FAILURE)
        CPU: 122ms

Sep 17 08:42:01 xx-ThinkPad-L470 systemd[1]: redis-server.service: Scheduled restart job, restart counter is at 5.
Sep 17 08:42:01 xx-ThinkPad-L470 systemd[1]: Stopped Advanced key-value store.
Sep 17 08:42:01 xx-ThinkPad-L470 systemd[1]: redis-server.service: Start request repeated too quickly.
Sep 17 08:42:01 xx-ThinkPad-L470 systemd[1]: redis-server.service: Failed with result 'exit-code'.
Sep 17 08:42:01 xx-ThinkPad-L470 systemd[1]: Failed to start Advanced key-value store.

1)  尝试百度一下,修改redis.conf里

bind 127.0.0.1 ::1

改为 

bind 127.0.0.1

重起失败

2) 尝试命令行启动

a)直接启动没有redis.conf权限(Permission denied)

/usr/bin/redis-server /etc/redis/redis.conf 
10937:C 17 Sep 2025 10:27:18.950 # Fatal error, can't open config file '/etc/redis/redis.conf': Permission denied

b) sudo /usr/bin/redis-server /etc/redis/redis.conf 启动成功, 6379端口正常

netstat -lnp |grep 6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      9478/redis-server 1

3)查找原因

服务配置(/lib/systemd/system/redis-server.service)里用户是 redis

User=redis
Group=redis

/etc/redis/redis.conf 有3处用到系统目录需要root权限

cat /etc/redis/redis.conf |grep /var.*/redis
# unixsocket /var/run/redis/redis-server.sock
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
# is used even if not specified, defaulting to "/var/run/redis.pid".
pidfile /var/run/redis/redis-server.pid
logfile /var/log/redis/redis-server.log
dir /var/lib/redis

三个目录redis权限都不够, 手动创建

sudo mkdir -p /var/run/redis
sudo mkdir -p /var/log/redis
sudo mkdir -p /var/lib/redis

sudo chown redis:redis /var/run/redis
sudo chown redis:redis /var/log/redis
sudo chown redis:redis /var/lib/redis

4)重启服务,正常

root@xx-ThinkPad-L470:~# service redis restart
root@xx-ThinkPad-L470:~# service redis status
● redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-09-17 10:02:30 CST; 4s ago
       Docs: http://redis.io/documentation,
             man:redis-server(1)
   Main PID: 9500 (redis-server)
     Status: "Ready to accept connections"
      Tasks: 5 (limit: 9247)
     Memory: 2.6M
        CPU: 99ms
     CGroup: /system.slice/redis-server.service
             └─9500 "/usr/bin/redis-server 127.0.0.1:6379" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "">

参考:

1)spring工程https://start.spring.io/https://start.spring.io/

2)【详解】Spring整合Redis:

https://cloud.tencent.com/developer/article/2484085

3):redis 报错 Failed to start Advanced key-value store

https://blog.csdn.net/u011944141/article/details/102412676

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐