无法启动redis.service:单元redis-server.service被屏蔽

Raz*_*een 20 redis servicestack.redis devops ubuntu-16.04

我在ubuntu 16.04上安装了Redis服务器.但当我尝试启动(sudo systemctl启动redis)redis服务我收到消息.

无法启动redis.service:单元redis-server.service被屏蔽.

我对这个错误一无所知.

Raz*_*een 30

我找到了解决方案.我认为这对其他人有帮助 systemctl unmask servicename

$ sudo systemctl unmask  redis-server.service
Run Code Online (Sandbox Code Playgroud)

  • 在 Ubuntu 20 上,结果我需要调用 `sudo systemctl restart redis-server` 而不是 `sudo systemctl restart redis`,哦! (18认同)

小智 13

如果在目录路径中遗漏了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
Run Code Online (Sandbox Code Playgroud)

这里

  • 单位是描述和定义网络行为,
  • 服务是指定服务的行为和
  • 如果启用,则安装定义服务应附加到的systemd目标.

然后使用创建redis用户组和目录

sudo adduser --system --group --no-create-home redis
Run Code Online (Sandbox Code Playgroud)
  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
Run Code Online (Sandbox Code Playgroud)


小智 8

对于 Ubuntu 用户运行

sudo systemctl restart redis-server
Run Code Online (Sandbox Code Playgroud)