Je travaille avec redis sur ma machine locale, je n'ai donc pas vraiment besoin de configurer un mot de passe pour me connecter au serveur avec mon client php (j'utilise predis en tant que client). Cependant, je déplace mon application sur un serveur actif. Je souhaite donc configurer un mot de passe pour se connecter à mon serveur Redis.
J'ai quelques questions:
J'ai vérifié partout sur Internet comment configurer le mot de passe et il semble que j'ai besoin d'ajouter le mot de passe dans le redis.conf. Je n'ai pas pu trouver ce que je devrais ajouter exactement au fichier de configuration pour configurer le mot de passe.
aussi dans predis comment devrais-je ajouter le mot de passe. J'utilise le tableau de paramètres suivant pour me connecter au serveur Redis
$ my_server = array ('Host' => '127.0.0.1', 'port' => 6379, 'database' => 1);
devrais-je ajouter le mot de passe de cette façon?
> $my_server = array('Host' => '127.0.0.1','port' =>
> 6379,'database' => 1,'password'=>password);
dernière question, j'essaie d'arrêter mon serveur Redis sur le serveur live. Chaque fois que j'entre la commande suivante, je reçois toujours le même message d'erreur
arrêt du serveur redis
[23925] 23 Sep 20:23:03 # Erreur fatale, impossible d'ouvrir le fichier de configuration 'stop'
généralement sur ma machine locale j'entre
/etc/init.d/redis-server stop
arrêter le serveur redis mais cela ne fonctionne pas sur mon serveur live car il n'y a pas de processus appelé serveur redis dans mon/etc/init.d
Pour définir le mot de passe, éditez votre fichier redis.conf, recherchez cette ligne
# requirepass foobared
Puis décommentez-le et remplacez foobared par votre mot de passe. Assurez-vous de choisir quelque chose d'assez long, 32 caractères ou plus serait probablement bien, il est facile pour un utilisateur extérieur de deviner plus de 150k mots de passe par seconde, comme le mentionnent les notes dans le fichier de configuration.
Pour vous authentifier avec votre nouveau mot de passe à l’aide de predis, la syntaxe que vous avez indiquée est correcte. Il suffit d’ajouter un mot de passe parmi les paramètres de connexion.
Pour arrêter redis ... dans votre fichier de configuration, vérifiez le paramètre pidfile
, il sera probablement
pidfile /var/run/redis.pid
À partir de la ligne de commande, exécutez:
cat /var/run/redis.pid
Cela vous donnera l'ID de processus du serveur en cours d'exécution, puis tuez simplement le processus en utilisant ce pid:
kill 3832
Mise à jour
Je voulais aussi ajouter, vous pouvez aussi faire le /etc/init.d/redis-server stop
vous avez l'habitude de travailler sur votre serveur live. Tous ces fichiers dans /etc/init.d/ ne sont que des scripts Shell, retirez le script redis-server de votre serveur local et copiez-le sur le serveur live au même emplacement, puis regardez ce qu'il fait avec vi ou quoi que ce soit d'autre. vous aimez utiliser, vous devrez peut-être modifier certains chemins et autres, mais cela devrait être assez simple.
vous pouvez également utiliser la commande suivante sur le client
cmd ::config set requirepass p@ss$12E45
la commande ci-dessus définira p@ss$12E45
en tant que redis
mot de passe du serveur.
Exemple:
redis 127.0.0.1:6379> AUTH PASSWORD
(error) ERR Client sent AUTH, but no password is set
redis 127.0.0.1:6379> CONFIG SET requirepass "mypass"
OK
redis 127.0.0.1:6379> AUTH mypass
Ok
Sudo nano /etc/redis/redis.conf
rechercher et décommenter la ligne # requirepass foobared
, puis redémarrez le serveur
maintenant votre mot de passe est foobared
en utilisant redis-cli:
root@server:~# redis-cli
127.0.0.1:6379> CONFIG SET requirepass secret_password
OK
cela définira le mot de passe temporairement (jusqu'au redis ou au redémarrage du serveur)
mot de passe de test:
root@server:~# redis-cli
127.0.0.1:6379> AUTH secret_password
OK
Pour cela, vous devez mettre à jour le fichier de configuration de Redis. Par défaut, il n’existe aucun mot de passe pour Redis.
01) ouvrir le fichier de configuration redis
Sudo vi /etc/redis/redis.conf
find requirepass champ sous SÉCURITÉ section et décommenter ce champ.Ensuite, définissez votre mot de passe au lieu de "foobared" =
# requirepass foobared
Ce devrait être comme
requirepass YOUR_PASSWORD
Puis redémarrez redis et démarrez redis-cli.
Si vous devez vérifier si vous avez défini le mot de passe correctement, vous pouvez exécuter les commandes ci-dessous dans redis-cli.
sithara@sithara-X555UJ ~ $ redis-cli
127.0.0.1:6379> set key1 18
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> exit
sithara@sithara-X555UJ ~ $ redis-cli
127.0.0.1:6379> set key1 18
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> set key2 check
OK
127.0.0.1:6379> get key2
"check"
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> set key1 20
OK
127.0.0.1:6379> get key1
"20"
127.0.0.1:6379> exit
`
étape 1. arrêtez le serveur redis en utilisant la commande ci-dessous /etc/init.d/redis-server stop step 2.enter la commande: Sudo nano /etc/redis/redis.conf
étape 3.récouvrez # requirepass foobared Word et supprimez # et remplacez foobared par VOTRE MOT DE PASSE.
ex. requirepass root
ouvrir le fichier de configuration redis
Sudo nano /etc/redis/redis.conf
définir un mot de passe
remplacer
# requirepass foobared
avec
requirepass YOURPASSPHRASE
redémarrer redis
redis-server restart
je ne pouvais pas trouver ce que je devrais ajouter exactement au fichier de configuration pour configurer le mot de passe.
Le fichier de configuration doit être situé à l'adresse /etc/redis/redis.conf
et le mot de passe peuvent être configurés dans la section SECURITY, située entre les sections REPLICATION et LIMITS. La configuration du mot de passe est effectuée à l'aide de la directive requirepass. Pour plus d'informations, essayez de regarder AUTH description de la commande.
étape 1. arrêtez le serveur redis en utilisant la commande ci-dessous /etc/init.d/redis-server stop
étape 2. Entrez la commande: Sudo nano /etc/redis/redis.conf
étape 3.récouvrez # requirepass foobared Word et supprimez # et remplacez foobared par VOTRE MOT DE PASSE.
ex. requirepass root