我正在尝试为Redis启动服务文件,我读过许多关于将其作为系统服务运行的文章,但我不确定为什么会发生这种情况。
当我跑步时
sudo systemctl start redis-server.service
它不会返回/退出-只是坐在那里,光标闪烁,直到我按Ctrl-C为止。我已经确认服务器已启动并正在运行,因此服务器似乎工作正常-我不确定为什么systemctl start不会退出。 Redis旨在与systemd一起使用,并与--supervised systemd参数一起使用,该服务应为Type = notify。
我的服务文件是:
[Unit]
Description=Redis
[Service]
Type=notify
User=john
Group=john
ExecStart=/usr/local/bin/redis-server /home/john/redis/redis.conf --supervised systemd --daemonize no
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=on-success
WorkingDirectory=/home/john/redis
[Install]
WantedBy=multi-user.target
redis.conf的内容为:
port 6379
save 60 1
bind 127.0.0.1
tcp-keepalive 300
dbfilename dump.rdb
dir ./
logfile ./redis-server.log
答案 0 :(得分:2)
从redis的第6版开始,似乎需要使用安装在Ubuntu + Debian上的libsystemd-dev
软件包进行编译。参见GitHub问题:https://github.com/redis/redis/issues/7284。
安装此软件包并重新编译redis可以解决此问题。