记录一次 Debian 12 安装 Redis 后启动失败
一台新的服务器在数天前安装后 WEB 环境后无法启动 Redis,今天有空了把问题解决一下
此问题第一次遇到,表示出现的概率很低很低
进入 Redis 安装目录查了日志,显示如下:
Aug 2024 15:33:29.659 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 378140:C 30 Aug 2024 15:33:29.660 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=378140, just started 378140:C 30 Aug 2024 15:33:29.660 * Configuration loaded 378140:M 30 Aug 2024 15:33:29.660 # Failed to configure LOCALE for invalid locale name. 1620776:C 05 Sep 2024 07:47:46.585 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 1620776:C 05 Sep 2024 07:47:46.585 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1620776, just started 1620776:C 05 Sep 2024 07:47:46.585 * Configuration loaded 1620776:M 05 Sep 2024 07:47:46.585 # Failed to configure LOCALE for invalid locale name.
然后问了 GPT ,说是服务器 loacle 设置不正确或者不完整导致,按照 GTP 的指引下来几遍解决问题,梳理一下记录:
查看系统 locale.gen 确保 en_US.UTF-8 UTF-8 项没有被注释
cat /etc/locale.gen | grep en_US
如果注释存在,请编辑器进入 /etc/locale.gen 在 en_US.UTF-8 UTF-8 前取消注释
然后保存并生成新的 locale
sudo locale-gen
现在,让我们尝试单独设置 LANG 和 LC_ALL:
sudo update-locale LANG=en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8
接下来查看确认是否修改成功
cat /etc/default/locale
出现以下
# File generated by update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8
OK,目前修改不会生效,因为我们要重新启动系统
reboot
~~~~~~~~~~~~~重启完成之后,发现 Redis 已经自动启动成功在运行了~~~~~~~~~~~