启动redis.service失败:Unit redis-server.service被屏蔽。

42

我已在Ubuntu 16.04上安装了Redis服务器,但当我尝试使用以下命令启动Redis服务时:

$ sudo systemctl start redis

我收到一条信息:

Failed to start redis.service: Unit redis-server.service is masked.

我对这个错误没有任何思路。

6个回答

70

我找到了解决方案。我认为它会对其他人有所帮助 | systemctl unmask服务名称

$ sudo systemctl unmask  redis-server.service

18
在Ubuntu 20上,结果我需要调用sudo systemctl restart redis-server而不是sudo systemctl restart redis,哎! - Xunnamius

20

如果在路径/etc/systemd/system/redis.service中缺少redis.service文件,我们需要使用以下命令创建该文件:

sudo nano /etc/systemd/system/redis.service,并编写以下内容:

[Unit]
Description=Redis In-Memory Data Store 
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

在这里

  • Unit 描述和定义了网络行为,
  • Service 用于指定服务的行为,
  • Install 定义了如果启用,则服务应附加到的systemd目标。

然后使用以下命令创建 redis 用户组和目录

sudo adduser --system --group --no-create-home redis
  1. sudo mkdir /var/lib/redis(创建目录)
  2. sudo chown redis:redis /var/lib/redis(更改所有者权限)
  3. sudo chmod 770 /var/lib/redis

运行服务sudo systemctl start redis,它将正常工作,使用以下命令检查状态

sudo systemctl status redis

我使用 redis-server /path/to/redis.conf 启动了 redis-server,现在我该如何检查我的 redis-server 的状态?@aniruddh - AATHITH RAJENDRAN
sudo systemctl status redis 返回 Active: active (exited),为什么不是在运行模式下 @aniruddh - AATHITH RAJENDRAN
在我的情况下,我必须首先使用命令 sudo userdel -r redis 删除已经存在的 Redis 用户。 - Ahtisham
1
如果你想在CentOS服务器上安装它,这个答案缺少很多重要的信息。我在这里找到了一个更好的解释:https://www.linuxcloudvps.com/blog/how-to-set-up-redis-on-centos-7/ - sz tech

8
Ubuntu 用户运行:
sudo systemctl restart redis-server

在Ubuntu 20上对我非常有效,同时将重启更改为状态。 - Ramzy

2
你可以运行
sudo systemctl restart redis-server 或者
sudo service redis-server restart(如果你使用的是WSL)

1

1. sudo systemctl unmask redis-server.service

如果在目录路径中缺少redis.service文件,则需要使用以下命令在此目录中创建文件:

/etc/systemd/system/redis.service,使用以下命令:sudo nano /etc/systemd/system/redis.service,并编写以下内容。

[Unit]
Description=Redis In-Memory Data Store 
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

然后使用以下命令创建 Redis 用户组和目录:
sudo adduser --system --group --no-create-home redis
sudo mkdir /var/lib/redis (Create directory)
sudo chown redis:redis /var/lib/redis (Change owner permission)
sudo chmod 770 /var/lib/redis

运行服务sudo systemctl start redis,它将正常工作,请使用以下命令检查状态

sudo systemctl status redis

-1

你必须运行代码

sudo systemctl daemon-reload

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接