je viens d'installer Redis et cela ne fonctionne pas du tout lorsque vous essayez de démarrer le service avec la commande:
Sudo service redis-server start
c'est le résultat de 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.
et voici le résultat de 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.
J'ai eu le même problème et je ne pouvais pas trouver une solution de travail n'importe où. Après quelques recherches, le correctif suivant a fonctionné pour moi (Ubuntu 16.04)
Dans / etc/systemd/system/redis.service, ajoutez ce qui suit dans la section [Service]
.
Type=forking
Ouvrez votre service en utilisant n'importe quel éditeur.
vim /etc/systemd/system/redis.service
Regardez votre section [Service]
à ExecStart
la mienne était:
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
Exécutez cette commande pour voir quelles erreurs se produisent. Le mien a répondu avec ceci:
Fatal error, can't open config file '/etc/redis/redis.conf'
Donc, je viens de mettre à jour cette ligne à ceci (où se trouvait mon fichier de configuration actuel)
ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf
C'est là que redis quickstart le place par défaut ... :)
J'ai fait face à la même erreur. Mais pour moi la raison était totalement différente: c'était dû à une faute de frappe dans mon fichier redis.conf
. Corriger cela et faire Sudo systemctl restart redis-server
redémarré redis instantanément. Il est trompeur que la même erreur soit lancée pour ce cas également.
le fichier redis.service est manquant dans le répertoire "/ etc/systemd/system /"
Sudo nano /etc/systemd/system/redis.service
puis copiez et collez ces lignes
[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
enregistrer et fermer ce fichier
ensuite modifier les permisssions du répertoire
$ Sudo adduser --system --group --no-create-home redis
$ Sudo chown redis:redis /var/lib/redis
$ Sudo chmod 770 /var/lib/redis
ensuite démarrez le serveur redis
$ Sudo systemctl start redis
vérifier si sa marche maintenant
$ Sudo systemctl status redis
RÉFÉRENCE: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04
J'avais besoin d'un dossier/var/lib/redis et d'un utilisateur et d'un groupe Redis.
J'ai utilisé les conseils de Kevin Upton https://askubuntu.com/a/981641/451682 pour trouver mes problèmes: vim /etc/systemd/system/redis.service
m'a conduit à /usr/local/bin/redis-server /etc/redis/redis.conf
qui a répondu par Can't chdir to '/var/lib/redis': No such file or directory
que j'ai créé avec Sudo mkdir /var/lib/redis
.
Cependant, je devais aussi créer l'utilisateur et le groupe Redis et placer celui-ci dans le répertoire/var/lib/redis, à la suite de Rishik Rohan https://askubuntu.com/a/918408/451682 :
Sudo adduser --system --group --no-create-home redis
Sudo chown redis:redis /var/lib/redis
Sudo chmod 770 /var/lib/redis
Merci à vous deux!
Étapes pour résoudre ce problème: - + ============== + A. Définissez la limite de mémoire dans redis.conf dans la ligne numérique 566
566 maxmemory 256mb 567 maxmemory-policy allkeys-lru
B. définissez le paramètre de mémoire de surimpression de noyau Linux sur 1:
$ Sudo sysctl vm.overcommit_memory = 1
ou /etc/sysctl.conf et remplacez-le par 1.
C. Redémarrez le serveur Redis maintenant.
$ systemctl restart redis
S'il vous plaît vérifier maintenant le statut Redis.
Et si le problème persiste, cliquez sur OK, puis modifiez et redistribuez le fichier de service.
========= vi /etc/systemd/system/redis.service
Vous verrez comme ça: -
[Unité] Description = Stock de données en mémoire Redis après = = network.target
[Service] Utilisateur = groupe root = root ExecStart =/usr/local/bin/redis-serveur /etc/redis/redis.conf ExecStop =/usr/local/bin/redis-cli shutdown Redémarrer = toujours
[Installer] WantedBy = multi -user.target
Changez-le ExecStart =/usr/local/bin/redis-server /etc/redis/redis.conf
à
ExecStart =/usr/local/bin/redis-server /etc/redis.conf
Maintenant, démarrez le service redis
$ systemctl start redis
Maintenant, Redis va commencer sans donner d'erreur.
+ ============== +
Tester le redis: -
[root @ server] # redis-cli 127.0.0.1:6379> ping Utilisez la commande echo pour faire écho à une chaîne donnée: 127.0.0.1:6379> echo "Tecmint teste Redis" Vous pouvez également définir une valeur de clé à l'aide de la commande set comme ceci: 127.0.0.1:6379> set mykey "teste Redis" Affichez maintenant la valeur de mykey: 127.0.0.1:6379> get mykey "teste Redis" 127.0.0.1:6379> exit [root @ server] #
Maintenant, redis a démarré avec succès et fonctionne.
+ ===================
Merci et salutations
après avoir fait tous les conf, essayez ces commandes
Sudo systemctl daemon-reload
Sudo chown redis:redis /var/lib/redis
Sudo chmod 770 /var/lib/redis
Et après
Sudo systemctl start redis
Veuillez vérifier votre redis.log
. Vous devriez voir quelque chose comme ça:
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
Par conséquent, vérifiez les limites de votre système et peut-être les autorisations de fichier de votre redis
AOF (/var/lib/redis/*
). Pour les limites du système, voici un bon guide .