Maison > base de données > Redis > le corps du texte

Comment installer le serveur Redis sur CentOS 7

WBOY
Libérer: 2023-05-31 08:25:21
avant
1436 Les gens l'ont consulté

Redis est un logiciel de stockage de données multiplateforme open source écrit en ANSI C. Redis peut prendre en charge Lua, C, Java, Python, Perl, PHP et de nombreux autres langages.

Building Redis

redis Il n'existe actuellement aucun package d'installation officiel de RPM Nous devons compiler à partir du code source, et pour compiler, nous devons installer Make et GCC.

Si vous n'avez pas installé GCC et Make, utilisez yum pour les installer.

yum install gcc make
Copier après la connexion

Téléchargez le package compressé tar depuis le site officiel.

curl http://download.redis.io/releases/redis-3.0.4.tar.gz -o redis-3.0.4.tar.gz
Copier après la connexion

Décompressez.

tar zxvf redis-3.0.4.tar.gz
Copier après la connexion

Entrez le répertoire décompressé.

cd redis-3.0.4
Copier après la connexion

Utilisez Make pour compiler les fichiers sources.

make
Copier après la connexion

Installation

Entrez le répertoire du fichier source.

cd src
Copier après la connexion

Copiez le serveur et le client Redis dans /usr/local/bin.

cp redis-server redis-cli /usr/local/bin
Copier après la connexion

Il est préférable de copier sentinelle, benchmark et vérifier.

cp redis-sentinel redis-benchmark redis-check-aof redis-check-dump /usr/local/bin
Copier après la connexion

Créez le dossier de configuration Redis.

mkdir /etc/redis
Copier après la connexion

Créez un répertoire valide pour enregistrer les données sous /var/lib/redis

mkdir -p /var/lib/redis/6379
Copier après la connexion
Paramètres système

La configuration est requise pour que Redis fonctionnent correctement Certains paramètres du noyau.

Configurez vm.overcommit_memory sur 1, ce qui peut éviter que les données soient tronquées. Voir ici pour plus de détails.

sysctl -w vm.overcommit_memory=1
Copier après la connexion

Modifiez le nombre maximum de connexions en retard pour dépasser la valeur tcp-backlog dans redis.conf, qui est la valeur par défaut de 511. Plus d’informations sur le tunneling réseau IP basé sur sysctl sont disponibles sur kernel.org.

sysctl -w net.core.somaxconn=512
Copier après la connexion

Annulez la prise en charge des pages transparentes énormes, car cela entraînera des retards et des problèmes d'accès à la mémoire lors de l'utilisation de Redis.

echo never > /sys/kernel/mm/transparent_hugepage/enabled
Copier après la connexion
Copier après la connexion

redis.conf

redis.conf est le fichier de configuration de redis Cependant, vous verrez que le nom de ce fichier est 6379.conf, et ce numéro est. ce que Redis surveille. Pour exécuter plusieurs instances Redis, le schéma de dénomination suivant est recommandé.

Copiez l'exemple redis.conf dans /etc/redis/6379.conf.

cp redis.conf /etc/redis/6379.conf
Copier après la connexion

Maintenant, éditez ce fichier et configurez les paramètres.

vi /etc/redis/6379.conf
Copier après la connexion
daemonize

Définissez démonize sur non, systemd en a besoin pour s'exécuter au premier plan, sinon redis raccrochera soudainement.

daemonize no
Copier après la connexion
pidfile

Définissez le fichier pid sur /var/run/redis_6379.pid.

pidfile /var/run/redis_6379.pid
Copier après la connexion
port

Si vous ne prévoyez pas d'utiliser le port par défaut, vous pouvez le modifier.

port 6379
Copier après la connexion
loglevel

Définissez le niveau de journalisation.

loglevel notice
Copier après la connexion
logfile

Modifiez le chemin du fichier journal.

logfile /var/log/redis_6379.log
Copier après la connexion
dir

Définissez le répertoire sur /var/lib/redis/6379

dir /var/lib/redis/6379
Copier après la connexion

security

Ce qui suit en sont quelques-unes. Une opération qui peut améliorer la sécurité.

Sockets Unix

Étant donné que le programme client et le programme côté serveur s'exécutent généralement sur la même machine, il n'est pas nécessaire d'écouter la socket réseau. Si cela est similaire à votre cas d'utilisation, vous pouvez utiliser un socket Unix au lieu d'un socket réseau. Pour ce faire, vous devez configurer le port sur 0, puis configurer les options suivantes pour activer le socket Unix.

Définissez le fichier socket du socket Unix.

 unixsocket /tmp/redis.sock
Copier après la connexion

Limiter les autorisations des fichiers socket.

unixsocketperm 700
Copier après la connexion

Maintenant, afin de rendre redis-cli accessible, le paramètre -s doit être utilisé pour pointer vers le fichier socket.

redis-cli -s /tmp/redis.sock
Copier après la connexion
requirepass

Vous aurez peut-être besoin d'un accès à distance, si c'est le cas, vous devez définir un mot de passe afin qu'il soit requis avant chaque opération.

requirepass "bTFBx1NYYWRMTUEyNHhsCg"
Copier après la connexion
rename-command

Imaginez le résultat de la commande suivante. Oui, cela affichera la configuration du serveur, vous devez donc refuser cet accès autant que possible.

CONFIG GET *
Copier après la connexion

Vous pouvez utiliser la commande "rename-command" pour limiter ou interdire l'utilisation de cette commande ou d'autres. Vous devez fournir un nom de commande et un autre nom. Pour rendre plus sûre l'interdiction d'une commande, son nom alternatif doit être défini sur une chaîne vide afin que personne ne puisse deviner le nom de la commande.

rename-command FLUSHDB "FLUSHDB_MY_SALT_G0ES_HERE09u09u"rename-command FLUSHALL ""rename-command CONFIG "CONFIG_MY_S4LT_GO3S_HERE09u09u"
Copier après la connexion

如何在CentOS 7上安装Redis服务器

Utilisez un mot de passe pour accéder via le socket Unix et modifier les commandes

Snapshot# 🎜 🎜#
Par défaut, redis videra périodiquement l'ensemble de données dans le fichier dump.rdb dans le répertoire que nous avons défini. Vous pouvez configurer la fréquence des dumps à l'aide de la commande save, dont le premier paramètre est la durée en secondes et le deuxième paramètre est le nombre de modifications à apporter sur le fichier de données.

Toutes les 15 minutes et la clé a été modifiée au moins une fois.

save 900 1
Copier après la connexion

Toutes les 5 minutes et la clé a été modifiée au moins 10 fois.

save 300 10
Copier après la connexion

Toutes les 1 minutes et la clé a été modifiée au moins 10 000 fois.

save 60 10000
Copier après la connexion

Le fichier /var/lib/redis/6379/dump.rdb contient les données de dump de l'ensemble de données en mémoire depuis la dernière sauvegarde. Comme il crée d'abord un fichier temporaire puis remplace le fichier de vidage précédent, il n'y a aucun problème de corruption des données. Vous n'avez pas à vous inquiéter, vous pouvez simplement copier le fichier.

Démarrer au démarrage

Vous pouvez utiliser systemd pour ajouter Redis à la liste de démarrage du système.

Copiez l'exemple de fichier init_script dans /etc/init.d, faites attention au numéro de port représenté par le nom du script.

cp utils/redis_init_script /etc/init.d/redis_6379
Copier après la connexion

Maintenant, nous voulons utiliser systemd, alors créez un fichier unité nommé redis_6379.service sous /etc/systems/system.

vi /etc/systemd/system/redis_6379.service
Copier après la connexion

Remplissez le contenu suivant, les détails peuvent être trouvés dans systemd.service.

[Unit]Description=Redis on port 6379[Service]Type=forkingExecStart=/etc/init.d/redis_6379 startExecStop=/etc/init.d/redis_6379 stop[Install]WantedBy=multi-user.target
Copier après la connexion

现在添加我之前在 /etc/sysctl.conf 里面修改过的内存过量使用和 backlog 最大值的选项。

vm.overcommit_memory = 1net.core.somaxconn=512
Copier après la connexion

对于透明巨页内存支持,并没有直接 sysctl 命令可以控制,所以需要将下面的命令放到 /etc/rc.local 的结尾。

echo never > /sys/kernel/mm/transparent_hugepage/enabled
Copier après la connexion
Copier après la connexion

这样就可以启动了,通过设置这些选项你就可以部署 redis 服务到很多简单的场景,然而在 redis.conf 还有很多为复杂环境准备的 redis 选项。在一些情况下,你可以使用 replication 和 Sentinel 来提高可用性,或者将数据分散在多个服务器上,创建服务器集群。

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!