Redis je úložiště datových struktur v paměti, které se používá jako distribuovaná databáze klíč–hodnota v paměti, mezipaměť a zprostředkovatel zpráv s volitelnou trvanlivostí. Redis podporuje různé druhy abstraktních datových struktur, jako jsou řetězce, seznamy, mapy, sady, tříděné sady, HyperLogLogs, bitmapy, proudy a prostorové indexy.
Ansible je nástroj pro poskytování, správu konfigurace a nasazení aplikací s otevřeným zdrojovým kódem umožňující infrastrukturu jako kód. Běží na mnoha systémech podobných Unixu a může konfigurovat systémy podobné Unixu i Microsoft Windows.
Související obsah
- Jak nainstalovat a nakonfigurovat Redis 6 na Debian 11
- Jak používat Ansible k instalaci a konfiguraci Redis 6 na Ubuntu 20.04
- Jak nainstalovat a nakonfigurovat Redis 6 na Ubuntu 20.04
- Jak nainstalovat a nakonfigurovat Redis 6 na FreeBSD 13
- Jak nainstalovat a nakonfigurovat Redis 6 na OpenSUSE Leap 15.3
- Jak nainstalovat a nakonfigurovat Redis 6 na Fedoře 34
Předpoklady
Chcete-li pokračovat, ujistěte se, že máte:
- Aktualizovaný server Debian
- Přístup k internetu
- Kořenový přístup k serveru nebo uživateli s přístupem sudo
Obsah
- Případné úlohy pro zajištění aktuálnosti serveru
- Instalace některých běžných balíčků
- Nastavení úložiště Redis 6
- Instalace serveru Redis 6
- Konfigurace serveru Redis 6
- Nastavení obslužných programů
- Celá příručka k instalaci a nastavení Redis 6 v Debianu 11
1. Možné úlohy pro zajištění aktuálnosti serveru
Než budete pokračovat, ujistěte se, že je server aktuální pomocí těchto úloh:
- name: Update apt repo and cache on all Debian/Ubuntu boxes
apt:
update_cache: yes
force_apt_get: yes
cache_valid_time: 3600
Kde:
- update_cache:ano – Spusťte ekvivalent příkazu apt-get update na všech serverech
- force_apt_get:ano – Nepoužívejte příkaz aptitude, místo toho použijte příkaz apt-get na krabicích Debian/Ubuntu
- cache_valid_time:3600 – Aktualizujte mezipaměť apt, pokud je starší než cache_valid_time. Tato možnost se nastavuje v sekundách. V těchto příkladech je nastavena na 3600 sekund.
Probíhá upgrade
- name: Upgrade all packages on servers
apt:
upgrade: dist
force_apt_get: yes
Kde:
- upgrade:dist – Spusťte ekvivalent příkazu „apt-get upgrade“ na všech serverech Ubuntu nebo Debian Linux. Jinými slovy upgradujte všechny balíčky na nejnovější verzi.
- force_apt_get:ano – Místo aptitude použijte apt-get.
2. Instalace některých běžných balíčků
Použijte toto k instalaci běžných balíčků. K nastavení repozitářů v Debianu je vyžadován balíček gnugpg.
- name: Install required packages
apt:
name:
- gnupg
- vim
state: latest
3. Nastavení Redis 6 Repo
Nejnovější stabilní verzi (verze 6) Redis si můžete nainstalovat z oficiálních packages.redis.io
APT úložiště. Přidejte úložiště do apt
index, aktualizujte jej a nainstalujte:
- name: Set up Redis 6 repo
shell: |
curl https://packages.redis.io/gpg | sudo apt-key add -
echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
4. Nainstalujte server Redis 6
Nyní aktualizujte úložiště mezipaměti a nainstalujte server redis
- name: Install redis apt: name: redis-server update_cache: yes notify: - Enable Redis
Zde používáme apt k aktualizaci mezipaměti pomocí update_cache:yes poté nainstalujte redis-server a nakonec nastavení obsluhy pro povolení redis-server
při spouštění.
5. Konfigurace serveru Redis 6
Dále musíme nakonfigurovat server tak, aby byl připraven k produkci.
Přidejte řádek, který serveru umožní zapisovat do souboru pid
- name: Set redis server pid file
lineinfile:
path: /etc/redis/redis.conf
regexp: "^pidfile"
line: "pidfile /var/run/redis/redis-server.pid"
notify:
- Restart Redis
Ve výše uvedeném aktualizujeme konfigurační soubor redis, aby připojil řádek pidfile /var/run/redis/redis-server.pid takže může zapsat soubor pid. Nastavujeme také obslužnou rutinu, která restartuje službu, když je playbook dokončen.
Dále nastavíme heslo pro náš server redis, abychom zvýšili zabezpečení.
- name: Secure redis with a password
lineinfile:
dest: /etc/redis/redis.conf
regexp: '^(# )?requirepass \w*$'
line: 'requirepass {{ redis_password }}'
state: present
notify:
- Restart Redis
Ve výše uvedeném aktualizujeme konfigurační soubor redis, aby připojil řádek requirepass {{ redis_password }} takže může nastavit heslo na nastavenou hodnotu. Nastavujeme také obslužnou rutinu, která restartuje službu, když je playbook dokončen.
Nakonec spojme službu s 0.0.0.0 takže je přístupný externě pomocí bind 0.0.0.0
- name: Bind redis to 0.0.0.0
lineinfile:
dest: /etc/redis/redis.conf
regexp: '^bind \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b$'
line: 'bind 0.0.0.0'
state: present
notify:
- Restart Redis
6. Nastavení ovladačů
Nastavíme výše uvedené handlery. Obslužné rutiny jsou stejné jako běžné úlohy v Ansible playbooku, ale spustí se pouze v případě, že úloha obsahuje příkaz „notify“ . Také to naznačuje, že se něco změnilo.
handlers:
- name: Restart Redis
systemd:
name: redis-server
state: restarted
- name: Start Redis
systemd:
name: redis-server
state: started
- name: Stop Redis
systemd:
name: redis-server
state: stopped
- name: Enable Redis
systemd:
name: redis-server
enabled: yes
Tyto obslužné rutiny budou spuštěny po provedení úloh, aby se služba restartovala a povolila.
7. Celá příručka k instalaci a nastavení Redis 6 v Debianu 11
Toto je konečná příručka. Mám soubor uložený jako setup-redis-debian.yaml
---
- name: Install and set up Redis 6 in Debian 11
hosts: debiansrv
become: yes
gather_facts: False
vars:
redis_password: j2GfJuLFR8
tasks:
- name: Update apt repo and cache on all Debian/Ubuntu boxes
apt:
update_cache: yes
force_apt_get: yes
cache_valid_time: 3600
- name: Upgrade all packages on servers
apt:
upgrade: dist
force_apt_get: yes
- name: Install required packages
apt:
name:
- gnupg
- vim
state: latest
- name: Set up Redis 6 repo
shell: |
curl https://packages.redis.io/gpg | sudo apt-key add -
echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
- name: Install redis
apt:
name: redis-server
update_cache: yes
notify:
- Enable Redis
- name: Set redis server pid file
lineinfile:
path: /etc/redis/redis.conf
regexp: "^pidfile"
line: "pidfile /var/run/redis/redis-server.pid"
notify:
- Restart Redis
- name: Secure redis with a password
lineinfile:
dest: /etc/redis/redis.conf
regexp: '^(# )?requirepass \w*$'
line: 'requirepass {{ redis_password }}'
state: present
notify:
- Restart Redis
- name: Bind redis to 0.0.0.0
lineinfile:
dest: /etc/redis/redis.conf
regexp: '^bind \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b$'
line: 'bind 0.0.0.0'
state: present
notify:
- Restart Redis
handlers:
- name: Restart Redis
systemd:
name: redis-server
state: restarted
- name: Start Redis
systemd:
name: redis-server
state: started
- name: Stop Redis
systemd:
name: redis-server
state: stopped
- name: Enable Redis
systemd:
name: redis-server
enabled: yes
8. Vytvoření souboru hosts
Vytvořte hosts.yaml
soubor s tímto obsahem. Ujistěte se, že se můžete připojit k serveru přidanému zde.
all:
hosts:
debiansrv:
ansible_ssh_host: 10.2.11.10
ansible_ssh_user: admin
8. Spuštění příručky
Musíte nainstalovat Ansible lokálně. Chcete-li nainstalovat Ansible, můžete použít správce balíčků OS nebo pomocí pip. Pomocí tohoto příkazu pip nainstalujte ansible:
pip install ansible
Pro spuštění playbooku použijte tento příkaz:
ansible-playbook -i hosts.yaml setup-redis-debian.yaml -vv
Závěr
V této příručce jsme se naučili, jak používat ansible k instalaci a konfiguraci Redis 6 v Debianu 11.