{"id":22929,"date":"2026-02-24T13:19:58","date_gmt":"2026-02-24T19:19:58","guid":{"rendered":"https:\/\/sada.services\/?p=22929"},"modified":"2026-02-24T15:53:00","modified_gmt":"2026-02-24T21:53:00","slug":"redis-instalacion-debian-13","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=22929","title":{"rendered":"Redis: Instalaci\u00f3n Debian 13"},"content":{"rendered":"\n<ul class=\"wp-block-list\">\n<li>Ver la versi\u00f3n disponible<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Ver qu\u00e9 versi\u00f3n de Redis est\u00e1 disponible en Debian 13\napt-cache show redis-server | grep Version<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Instalamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install redis-server -y<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Versi\u00f3n<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>redis-server --version\nsystemctl status redis-server<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"937\" height=\"382\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-160.png\" alt=\"\" class=\"wp-image-22930\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-160.png 937w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-160-300x122.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-160-768x313.png 768w\" sizes=\"(max-width: 937px) 100vw, 937px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Copiamos el archivo de configuraci\u00f3n<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cp \/etc\/redis\/redis.conf \/etc\/redis\/redis.conf.backup<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le agregamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cat > \/etc\/redis\/redis.conf &lt;&lt; 'EOF'\n# Red - escuchar en todas las interfaces\nbind 0.0.0.0\nport 6379\nprotected-mode no\n\n# Memoria - 20GB de los 24GB disponibles\nmaxmemory 20gb\nmaxmemory-policy allkeys-lru\n\n# Persistencia desactivada - sesiones y cach\u00e9 son regenerables\nsave \"\"\nappendonly no\n\n# Conexiones\ntcp-backlog 511\ntimeout 300\ntcp-keepalive 300\nmaxclients 2000\n\n# Rendimiento\nhz 20\ndynamic-hz yes\nlazyfree-lazy-eviction yes\nlazyfree-lazy-expire yes\nlazyfree-lazy-server-del yes\n\n# Logs\nloglevel notice\nlogfile \/var\/log\/redis\/redis-server.log\n\n# Base de datos\ndatabases 4\nEOF<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reiniciamos y probamos <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl restart redis-server\nredis-cli ping<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">En el cliente: nodo01<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install php8.3-redis -y<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verificar que la extensi\u00f3n carg\u00f3:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>php8.3 -m | grep redis<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Respuesta<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>redis<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"635\" height=\"113\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-161.png\" alt=\"\" class=\"wp-image-22933\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-161.png 635w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-161-300x53.png 300w\" sizes=\"(max-width: 635px) 100vw, 635px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Abrimos el archivo de configuraci\u00f3n de moodle<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/var\/www\/html\/config.php<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y antes de la linea <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>require_once(__DIR__ . '\/lib\/setup.php');<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Sesiones en Redis\n$CFG->session_handler_class = '\\core\\session\\redis';\n$CFG->session_redis_host = '10.0.3.131';\n$CFG->session_redis_port = 6379;\n$CFG->session_redis_database = 0;\n$CFG->session_redis_auth = '';\n$CFG->session_redis_prefix = 'mdl_sess_';\n$CFG->session_redis_acquire_lock_timeout = 0;\n$CFG->session_redis_lock_expire = 7200;\n$CFG->session_redis_lock_wait = 500;\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Instalamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install redis-tools -y<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vamos a apasdar la cache del NFS a directorio local<\/li>\n\n\n\n<li>Creamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Crear directorios locales para cach\u00e9\nmkdir -p \/var\/moodlecache\/cache\nmkdir -p \/var\/moodlecache\/localcache\nmkdir -p \/var\/moodlecache\/temp\nchown -R www-data:www-data \/var\/moodlecache\nchmod -R 755 \/var\/moodlecache<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Abrimos el archivo<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/var\/www\/html\/config.php<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Cach\u00e9 local en disco local del nodo\n$CFG->localcachedir = '\/var\/moodlecache\/localcache';\n$CFG->tempdir = '\/var\/moodlecache\/temp';\n$CFG->cachedir = '\/var\/moodlecache\/cache';<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Guardar y verificar:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -la \/var\/moodlecache\/\ngrep \"localcachedir\\|tempdir\" \/var\/www\/html\/config.php<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reiniciamos <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl restart php8.3-fpm<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Analisis<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>para ver al load avegrage<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>uptime &amp;&amp; ps aux | awk '$8==\"D\"' | wc -l<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inicio<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"790\" height=\"151\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-162.png\" alt=\"\" class=\"wp-image-22936\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-162.png 790w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-162-300x57.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-162-768x147.png 768w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Final<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ver nodos esperando NFS<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ps aux | awk '$8==\"D\"' | awk '{print $2}' | while read pid; do\n  cat \/proc\/$pid\/wchan 2>\/dev\/null\ndone | sort | uniq -c | sort -rn<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inicio<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"216\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-163.png\" alt=\"\" class=\"wp-image-22937\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-163.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-163-300x63.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-163-768x162.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ver cantidad de conexiones<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>grep \"$(LANG=C date '+%d\/%b\/%Y:%H:%M')\" \/var\/log\/apache2\/access.log | wc -l<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inicio<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"57\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-164-1024x57.png\" alt=\"\" class=\"wp-image-22938\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-164-1024x57.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-164-300x17.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-164-768x43.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-164.png 1110w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ver sessiones en redis bloqueadas<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>redis-cli -h 10.0.3.131 --scan --pattern \"mdl_sess_*lock*\" | xargs redis-cli -h 10.0.3.131<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"52\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-165-1024x52.png\" alt=\"\" class=\"wp-image-22939\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-165-1024x52.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-165-300x15.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-165-768x39.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-165.png 1284w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"964\" height=\"153\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-166.png\" alt=\"\" class=\"wp-image-22941\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-166.png 964w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-166-300x48.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-166-768x122.png 768w\" sizes=\"(max-width: 964px) 100vw, 964px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Cron para limpiar cache<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verificamos si existe algunb cron de moodle<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>crontab -l -u www-data\n\ngrep -r \"moodle\\|php.*admin\" \/etc\/cron* 2>\/dev\/null<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No existe<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"929\" height=\"101\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-167.png\" alt=\"\" class=\"wp-image-22942\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-167.png 929w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-167-300x33.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-167-768x83.png 768w\" sizes=\"(max-width: 929px) 100vw, 929px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creamos el cron<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>crontab -u www-data -e<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>* * * * * \/usr\/bin\/php8.3 \/var\/www\/html\/admin\/cli\/cron.php > \/dev\/null 2>&amp;1<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"877\" height=\"466\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-168.png\" alt=\"\" class=\"wp-image-22943\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-168.png 877w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-168-300x159.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-168-768x408.png 768w\" sizes=\"(max-width: 877px) 100vw, 877px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creamos un cron que limpie la cache local cada semana<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cat > \/etc\/cron.weekly\/moodle-cache-cleanup &lt;&lt; 'EOF'\n#!\/bin\/bash\nfind \/var\/moodlecache\/cache -type f -atime +7 -delete\nfind \/var\/moodlecache\/localcache -type f -atime +7 -delete\nfind \/var\/moodlecache\/temp -type f -atime +1 -delete\nEOF<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le damos permisos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x \/etc\/cron.weekly\/moodle-cache-cleanup<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verificar<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>crontab -l -u www-data\nls -la \/etc\/cron.weekly\/moodle-cache-cleanup<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Es importante verificar que el tama\u00f1o de la cache no crece semana a semana y se limpia cada semana para esto<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>du -sh \/var\/moodlecache\/<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"718\" height=\"125\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-169.png\" alt=\"\" class=\"wp-image-22947\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-169.png 718w, https:\/\/sada.services\/wp-content\/uploads\/2026\/02\/image-169-300x52.png 300w\" sizes=\"(max-width: 718px) 100vw, 718px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>En el cliente: nodo01 Analisis Cron para limpiar cache<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-22929","post","type-post","status-publish","format-standard","hentry","category-sin-categoria"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/22929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22929"}],"version-history":[{"count":10,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/22929\/revisions"}],"predecessor-version":[{"id":22949,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/22929\/revisions\/22949"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}