此文首发于我的个人博客:Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can’t open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory — zhang0peter的个人博客


晚上在我的ubuntu 18.04的服务器上安装redis时报错如下:

Job for redis-server.service failed because a timeout was exceeded.
See "systemctl status redis-server.service" and "journalctl -xe" for details.
invoke-rc.d: initscript redis-server, action "start" failed.
● redis-server.service - Advanced key-value storeLoaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled)Active: activating (auto-restart) (Result: timeout) since Wed 2020-01-22 19:09:23 CST; 14ms agoDocs: http://redis.io/documentation,man:redis-server(1)Process: 15450 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)Jan 22 19:09:23 VM-0-15-ubuntu systemd[1]: Failed to start Advanced key-value store.
Jan 22 19:09:23 VM-0-15-ubuntu systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
Jan 22 19:09:23 VM-0-15-ubuntu systemd[1]: redis-server.service: Scheduled restart job, restart counter is at 1.
Jan 22 19:09:23 VM-0-15-ubuntu systemd[1]: Stopped Advanced key-value store.
Jan 22 19:09:23 VM-0-15-ubuntu systemd[1]: Starting Advanced key-value store...
Jan 22 19:09:23 VM-0-15-ubuntu systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory
dpkg: error processing package redis-server (--configure):installed redis-server package post-installation script subprocess returned error exit status 1
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Processing triggers for systemd (237-3ubuntu10.33) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for ureadahead (0.100.0-21) ...
Errors were encountered while processing:redis-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
-> # service redis-server status
● redis-server.service - Advanced key-value storeLoaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled)Active: activating (start) since Thu 2020-01-23 08:12:09 CST; 55s agoDocs: http://redis.io/documentation,man:redis-server(1)Process: 22669 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)Tasks: 0 (limit: 2126)CGroup: /system.slice/redis-server.serviceJan 23 08:12:09 VM-0-15-ubuntu systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
Jan 23 08:12:09 VM-0-15-ubuntu systemd[1]: redis-server.service: Scheduled restart job, restart counter is at 520.
Jan 23 08:12:09 VM-0-15-ubuntu systemd[1]: Stopped Advanced key-value store.
Jan 23 08:12:09 VM-0-15-ubuntu systemd[1]: Starting Advanced key-value store...
Jan 23 08:12:09 VM-0-15-ubuntu systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file

网上有很多人遇到了一样的问题:rhel6 - Redis Daemon not creating a PID file - Stack Overflow

解决问题的第一步是查看日志:

-># cat /var/log/redis/redis-server.log
21692:M 23 Jan 08:07:37.871 # Creating Server TCP listening socket ::1:6379: bind: Cannot assign requested address
21973:C 23 Jan 08:09:08.372 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
21973:C 23 Jan 08:09:08.374 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=21973, just started
21973:C 23 Jan 08:09:08.374 # Configuration loaded
21987:M 23 Jan 08:09:08.376 # Creating Server TCP listening socket ::1:6379: bind: Cannot assign requested address
22264:C 23 Jan 08:10:38.872 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
22264:C 23 Jan 08:10:38.872 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=22264, just started
22264:C 23 Jan 08:10:38.872 # Configuration loaded
22278:M 23 Jan 08:10:38.877 # Creating Server TCP listening socket ::1:6379: bind: Cannot assign requested address
22669:C 23 Jan 08:12:09.378 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
22669:C 23 Jan 08:12:09.379 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=22669, just started
22669:C 23 Jan 08:12:09.379 # Configuration loaded
22688:M 23 Jan 08:12:09.383 # Creating Server TCP listening socket ::1:6379: bind: Cannot assign requested address
23016:C 23 Jan 08:13:39.867 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
23016:C 23 Jan 08:13:39.867 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=23016, just started
23016:C 23 Jan 08:13:39.867 # Configuration loaded
23031:M 23 Jan 08:13:39.871 # Creating Server TCP listening socket ::1:6379: bind: Cannot assign requested address
23294:C 23 Jan 08:15:10.394 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
23294:C 23 Jan 08:15:10.394 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=23294, just started
23294:C 23 Jan 08:15:10.394 # Configuration loaded

先尝试修改绑定IP:

/etc/redis/redis.conf

bind 127.0.0.1 ::1改为bind 127.0.0.1

可以正常启动了:

-> # service redis-server status
● redis-server.service - Advanced key-value storeLoaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled)Active: active (running) since Thu 2020-01-23 08:16:37 CST; 2min 58s agoDocs: http://redis.io/documentation,man:redis-server(1)Process: 23552 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)Main PID: 23569 (redis-server)Tasks: 4 (limit: 2126)CGroup: /system.slice/redis-server.service└─23569 /usr/bin/redis-server 127.0.0.1:6379Jan 23 08:16:37 VM-0-15-ubuntu systemd[1]: Starting Advanced key-value store...
Jan 23 08:16:37 VM-0-15-ubuntu systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file
Jan 23 08:16:37 VM-0-15-ubuntu systemd[1]: Started Advanced key-value store.

但还是有报错redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file

解决方法如下:

vi /usr/lib/systemd/system/redis.service #centos 7
nano /etc/systemd/system/redis.service  #debian/ubuntu

[Service]下新增一行ExecStartPost=/bin/sh -c "echo $MAINPID > /var/run/redis/redis.pid"

[Service]
Type=forking
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
ExecStop=/bin/kill -s TERM $MAINPID
ExecStartPost=/bin/sh -c "echo $MAINPID > /var/run/redis/redis.pid"

随后重启服务:

sudo systemctl daemon-reload
sudo systemctl enable redis-server
sudo systemctl restart redis.service

报错消失:

-> # service redis-server status
● redis-server.service - Advanced key-value storeLoaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)Active: active (running) since Thu 2020-01-23 09:03:12 CST; 4s agoDocs: http://redis.io/documentation,man:redis-server(1)Process: 14002 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)Process: 14024 ExecStartPost=/bin/sh -c echo $MAINPID > /var/run/redis/redis.pid (code=exited, status=0/SUCCESS)Process: 14006 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)Main PID: 14023 (redis-server)Tasks: 4 (limit: 1108)CGroup: /system.slice/redis-server.service└─14023 /usr/bin/redis-server *:34343Jan 23 09:03:12 VM-0-17-ubuntu systemd[1]: Stopped Advanced key-value store.
Jan 23 09:03:12 VM-0-17-ubuntu systemd[1]: Starting Advanced key-value store...
Jan 23 09:03:12 VM-0-17-ubuntu systemd[1]: Started Advanced key-value store.

redis已经可以正常运行:

-> # redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set test "test redis"
OK
127.0.0.1:6379> get test
"test redis"

Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/redis-server.相关推荐

  1. 电脑安装linux办公软件,Ubuntu安装WPS办公软件报错怎么解决

    Ubuntu64位系统在安装WPS办公软件的时候,有时会出现错误,而且报错代码一长串看不懂,让很多用户烦恼,这是怎样的错误呢?下面小编就给大家介绍下Ubuntu安装WPS办公软件报错的解决方法,一起来 ...

  2. 安装opencv3.4.0报错

    安装 opencv-3.4.0报错: fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory 解决办法: 1. 查找该 ...

  3. linux系统Nginx下载安装步骤(含报错解决方法)

    linux系统Nginx下载安装步骤(含报错解决方法) 基础步骤 安装过程可能出现的报错及解决方法 执行 ./configure --prefix=/opt/nginx 报错 执行 make inst ...

  4. Python在指定环境下安装第三方库的报错解决办法

    Python在指定环境下安装第三方库的报错解决办法 在python安装第三方库时,如果直接打开cmd命令提示符,并输入下列安装命令,则会默认安装在base环境下 但base环境下的包新建的虚拟环境是无 ...

  5. virtualBox安装centos6增强包报错解决及配置共享文件夹

     一.安装增强包 1.启动CentOS6.5 虚拟机,点击设备à 安装增强功能. 则 "光盘"VBOXADDITIONS已经挂载到 CentOS 5.5 的桌面上了. 此时 双 ...

  6. anaconda安装配置步骤、报错解决

    文章目录 anaconda安装配置 安装 配置 BUG anaconda安装配置 安装 安装参考博客: https://blog.csdn.net/wq_ocean_/article/details/ ...

  7. 终极解决重启服务器后mysql启动失败 报 ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

    手欠的不行,reboot 重启了下服务器,结果开机死活起不来mysql服务 查看状态报错 通过排查发现 竟然没有 /var/run/mysqld/ 这个目录了,想起来是手欠,直接关机了,关机前没关数据 ...

  8. linux 32位redis安装,CentOS 5.5 32位上安装Redis 2.6报错解决

    之前在FreeBSD7.4上安装很顺利就安装了,但这次在CentOS 5.5上安装时遇到了如下问题 zmalloc.o: In function zmalloc_used_memory': /home ...

  9. windows7 下 安装ipython-5.1.0报错

    1,报错内容 1 2 3 4 C:\Users\Hunk\Desktop\test\ipython-5.1.0>python setupegg.py install ---- error: Se ...

最新文章

  1. VS2010解决方案不显示无法添加项目问题
  2. linux系统启动过程(三)
  3. 翻译: Waf 教程
  4. 推荐策略产品经理:剖析协同过滤(千人千面推荐的核心 )
  5. 天翼云从业认证(3.3)天翼云网络产品
  6. C/C++ main用法总结
  7. C语言标准库<string.h>
  8. Oracle异常汇总
  9. 光标的覆盖模式与插入模式
  10. 电脑上查看端口是否被占用
  11. 局域网中的通信协议及选择简述。
  12. 教你win7如何共享打印机的详细教程
  13. 测试管理工具的基本功能有哪些?
  14. STM32可用的QRCODE二维码生成库
  15. 前端通过js导出报表到excel(如果数据量很大的话,建议不要前端自己导出数据)
  16. 定差幂线定理例题和练习题
  17. cocos creater 2.4 Error Bundle resources doesn‘t contain
  18. PCB如何更合理的拼版
  19. 《沉思录卷八》灵魂先于肉体屈服是可耻的
  20. cpu_only openpose Windows环境搭建

热门文章

  1. J. Cheminform. | GraphSol:预测接触图助力蛋白质溶解度预测
  2. Nat. Commun. | 机器学习在化学发现中的应用
  3. Excel VBA参考文献中人名与年份格式转换
  4. 预测 motif 的计算原理
  5. 宏基因组数据提交GSA指南
  6. MPB:清华杨云锋组-利用GeoChip分析环境微生物功能基因群落结构
  7. 你看的每一篇Nature论文,都是这样出炉的!
  8. R语言ggplot2可视化分组的重叠图实战:grouped overlay plot
  9. 解决pandas:ValueError: Cannot convert non-finite values (NA or inf) to integer
  10. R语言ggplot2可视化自动换行适配长文本图例(legend)实战:Multiple Lines for Text per Legend Label