我最近搬到了现在使用systemd的Debian 8“Jessie”,我找不到运行多个redis实例的方法。
我发现有一个/lib/systemd/system/redis-server.service文件在重启时启动redis-server。 所以我用这个内容创build了一个新的文件调用/lib/systemd/system/redis-server-2.service :
[Unit] Description=Advanced key-value store After=network.target [Service] Type=forking ExecStart=/usr/bin/redis-server /etc/redis/redis-2.conf TimeoutStopSec=0 Restart=always User=redis Group=redis [Install] WantedBy=multi-user.target
但是,当我尝试像这样启动服务: service redis-server-2 start我得到这个错误:
Job for redis-server-2.service failed. See 'systemctl status redis-server-2.service' and 'journalctl -xn' for details.
和systemctl status redis-server-2.service给我:
● redis-server-2.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server-2.service; disabled) Active: failed (Result: start-limit) since Sat 2015-10-10 11:09:54 CEST; 33s ago Process: 2473 ExecStart=/usr/bin/redis-server /etc/redis/redis-2.conf (code=exited, status=1/FAILURE) Main PID: 2371 (code=exited, status=1/FAILURE) Oct 10 11:09:54 server101 systemd[1]: redis-server-2.service: control process exited, code=exited status=1 Oct 10 11:09:54 server101 systemd[1]: Failed to start Advanced key-value store. Oct 10 11:09:54 server101 systemd[1]: Unit redis-server-2.service entered failed state. Oct 10 11:09:54 server101 systemd[1]: redis-server-2.service start request repeated too quickly, refusing to start. Oct 10 11:09:54 server101 systemd[1]: Failed to start Advanced key-value store. Oct 10 11:09:54 server101 systemd[1]: Unit redis-server-2.service entered failed state.
这不是真的帮助我。
但是,如果我运行/usr/bin/redis-server /etc/redis/redis-2.conf我的redis实例启动正确。
因此,任何想法为什么systemd不要自己开始这个实例?
先谢谢您的帮助。
像迈克尔·汉普顿(Michael Hampton)build议的那样,我检查了系统日志,发现:
Oct 10 11:33:46 server101 redis-server[1947]: *** FATAL CONFIG FILE ERROR *** Oct 10 11:33:46 server101 redis-server[1947]: Reading the configuration file, at line 5 Oct 10 11:33:46 server101 redis-server[1947]: >>> 'logfile /var/log/redis/redis-server-2.log' Oct 10 11:33:46 server101 redis-server[1947]: Can't open the log file: Permission denied
所以我只需要这样做来解决这个问题:
chown redis:redis /var/log/redis/redis-server-2.log