我刚刚安装了 redis,但在尝试使用以下命令启动服务时它根本不起作用:
sudo service redis-server start
这是结果journalctl -xe:
Subject: Unit redis-server.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit redis-server.service has finished shutting down.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Start request repeated too quickly.
Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.
Run Code Online (Sandbox Code Playgroud)
这是结果systemctl status redis-server.service:
redis-server.service - Redis Datastore Server
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: resources) since Kam 2017-03-02 13:22:46 WIB; 5min ago
Process: 12120 ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.
Mar 02 13:22:46 aaaaa-notebook systemd[1]: redis-server.service: Unit entered failed state.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Failed with result 'resources'.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
Mar 02 13:22:46 aaa-notebook systemd[1]: Stopped Redis Datastore Server.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Start request repeated too quickly.
Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.
Run Code Online (Sandbox Code Playgroud)
小智 18
我遇到了同样的问题,在任何地方都找不到可行的解决方案。经过一番搜索,以下修复对我有用(Ubuntu 16.04)
在/etc/systemd/system/redis.service[Service]部分下添加以下内容。
Type=forking
Run Code Online (Sandbox Code Playgroud)
小智 8
使用任何编辑器打开您的服务。
vim /etc/systemd/system/redis.service
Run Code Online (Sandbox Code Playgroud)
看看你[Service]在ExecStart我的部分是:
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
Run Code Online (Sandbox Code Playgroud)
运行此命令以查看发生了什么错误。我的回应是这样的:
Fatal error, can't open config file '/etc/redis/redis.conf'
Run Code Online (Sandbox Code Playgroud)
所以我只是将该行更新为这个(我的实际配置文件所在的位置)
ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf
Run Code Online (Sandbox Code Playgroud)
默认情况下,这是 redis quickstart 放置它的地方... :)
小智 7
就我而言,/var/log/redis我在/etc/redis/redis.conf文件中提到的日志目录 ( )不存在
我如何找到错误
尝试
/usr/local/bin/redis-server /etc/redis/redis.conf
Run Code Online (Sandbox Code Playgroud)
这与我的/etc/systemd/system/redis.service文件中存在的命令相同
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
Run Code Online (Sandbox Code Playgroud)
解决方案
1) 创建日志目录
sudo mkdir -p /var/log/redis
Run Code Online (Sandbox Code Playgroud)
2) 授予适当的访问权限以创建和写入日志
sudo chown redis:redis /var/log/redis
Run Code Online (Sandbox Code Playgroud)
再次尝试启动服务
sudo service redis-server start
Run Code Online (Sandbox Code Playgroud)
或者
sudo service redis start
Run Code Online (Sandbox Code Playgroud)
小智 2
“/etc/systemd/system/”目录中缺少 redis.service 文件
须藤纳米 /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)
保存并关闭该文件
接下来修改目录权限
$ sudo adduser --system --group --no-create-home redis
$ sudo chown redis:redis /var/lib/redis
$ sudo chmod 770 /var/lib/redis
Run Code Online (Sandbox Code Playgroud)
接下来启动redis服务器
$ sudo systemctl启动redis
检查它现在是否正在运行
$ sudo systemctl 状态 redis
参考:https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04
小智 0
请检查您的redis.log. 你应该看到这样的东西:
41393:M 07 Jun 17:02:19.034 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
41393:M 07 Jun 17:02:19.034 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
41393:M 07 Jun 17:02:19.034 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
41393:M 07 Jun 17:02:19.034 # Can't open the append-only file: Read-only file system
Run Code Online (Sandbox Code Playgroud)
redis因此,请检查您的系统限制以及AOF ( )的文件权限/var/lib/redis/*。对于系统限制,这里有一个很好的指南。
| 归档时间: |
|
| 查看次数: |
56616 次 |
| 最近记录: |